Browse Source

- Added first Version of Mechanic Job change Quest and 3rd_trader which sells 3rd Job related Items.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15220 54d463be-8e91-2dee-dedb-b68131a5f0ec
masao87 13 years ago
parent
commit
ad5a13c3e5
4 changed files with 1513 additions and 1 deletions
  1. 877 0
      npc/jobs/3-1/mechanic.txt
  2. 634 0
      npc/merchants/3rd_trader.txt
  3. 1 0
      npc/scripts_athena.conf
  4. 1 1
      npc/scripts_jobs.conf

+ 877 - 0
npc/jobs/3-1/mechanic.txt

@@ -0,0 +1,877 @@
+//===== eAthena Script ======================================= 
+//= Mechanic Jobchange Quest
+//===== By: ================================================== 
+//= Masao
+//===== Current Version: ===================================== 
+//= 1.0
+//===== Compatible With: ===================================== 
+//= eAthena SVN
+//===== Description: ========================================= 
+//= [Aegis Conversion]
+//= Jobchange Quest from Blacksmith / Whitesmith -> Mechanic.
+//===== Additional Comments: ================================= 
+//= v1.0 First Version.
+//============================================================ 
+
+yuno,129,156,3	script	Chainheart	923,{
+
+	if (Class >= 4023 && Class <= 4045)
+	{
+		mes "[Chainheart]";
+		mes "Huh? This is not place for Children. Children,";
+		mes "you should stay with your mom and dad.";
+		mes "You shouldn't wander around.";
+		next;
+		mes "[Chainheart]";
+		mes "Truth or technology?";
+		mes "Perhaps you children should next;";
+		mes "till you are a little older.";
+		close;
+	}
+
+	if(BaseLevel > 99)
+	{
+		mes "[Chainheart]";
+		mes "Living as a Mechanic is tough,";
+		mes "but I am happy that I can";
+		mes "always do what I want.";
+		close;
+	}
+	if(job_mechanic == 12)
+	{
+		mes "[Chainheart]";
+		mes "There's nothing to say specifically about Mechanics or magic machinery.";
+		mes "You would know more about it than anyone now.";
+		next;
+		mes "[Chainheart]";
+		mes "Continue to grow your knowledge by experiencing what the world has to offer.";
+		close;
+	}
+	if(job_mechanic == 11)
+	{
+		if(Class == 19 || Class == 4011 && ((JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98)))
+		{
+			mes "[Chainheart]";
+			mes "What is it? Is that you?";
+			mes "Oh wait, you look quite different than the last time I saw you.";
+			mes "Did something happen?";
+			next;
+			mes "[Chainheart]";
+			mes "Ahh! You went to Juperos";
+			mes "like I said. As Franklson did.";
+			next;
+			mes "[Chainheart]";
+			mes "It seems there's no need";
+			mes "for more questioning.";
+			mes "I'm certain that you've gained the knowledge to be a true mechanic.";
+			next;
+			mes "[Chainheart]";
+			mes "There's nothing I can say more.";
+			mes "You are already a great Mechanic.";
+			mes "Don't lose your nerves with the";
+			mes "title. The most important thing is that you have the knowledge.";
+			next;
+			mes "[Chainheart]";
+			mes "You don't seem to be the type to be locked up inside a lab or in a library.";
+			mes "You are a type who learns";
+			mes "by actively participating.";
+			next;
+			mes "[Chainheart]";
+			mes "I like who you are and I think we need that kind of new blood for our Mechanics.";
+			next;
+			mes "[Chainheart]";
+			mes "Science is seeking and studying things that can be proven logically.";
+			mes "Ironically enough, science usually starts from uncertain theories just like magic.";
+			next;
+			mes "[Chainheart]";
+			mes "As I said before if the passion and the talent are real there would be no problem!";
+			mes "Congratulations for walking through a new path as a Mechanic!";
+			next;
+			set job_mechanic,12;
+			completequest 10101;
+			if(Sex == 1)
+			{
+				getitem 5749,1;
+			}else{
+				getitem 5760,1;
+			}
+			getitem 2795,1;
+			if(Class == 10)
+			{
+				jobchange 4058;
+			}else if(Class == 4011){
+				jobchange 4064;
+			}
+			mes "[Chainheart]";
+			mes "Here is, a gift.";
+			mes "If you keep this well, one day";
+			mes "you'll be thankful to me.";
+			next;
+			mes "[Chainheart]";
+			mes "Well, go. This wide world is";
+			mes "your laboratory, everything in";
+			mes "this world is going to be your";
+			mes "textbook, so let there be a silver lining in the future of Mechanics!";
+			close;
+		}
+		mes "[Chainheart]";
+		mes "If not what?";
+		close;
+	}
+	if(job_mechanic == 3)
+	{
+		mes "[Chainheart]";
+		mes "By the way, Franklson is missing.";
+		mes "He said that he wanted to study";
+		mes "and then disappeared.";
+		mes "Where could he have gone?";
+		next;
+		mes "[Chainheart]";
+		mes "If you keep walking the way to being a Mechanic you might bump into him.";
+		mes "Fate works in weird ways friend.";
+		next;
+		mes "[Chainheart]";
+		mes "Anyway, farewell.";
+		close;
+	}
+	if(job_mechanic == 2)
+	{
+		mes "[Chainheart]";
+		mes "I think I've done all the explanations, is there anything else you want to know?";
+		next;
+		switch(select("I want to know more.:Nothing."))
+		{
+		case 1:
+			mes "[Chainheart]";
+			mes "Um..? You want to know more about magic machinery. Is that it?";
+			mes "Hmm... I told you that you are talented it's difficult.";
+			next;
+			mes "[Chainheart]";
+			mes "Well, you seem talented, so it wouldn't be bad for us if you could become a Mechanic.";
+			mes "But unfortunately it doesn't";
+			mes "work just like that.";
+			next;
+			mes "[Chainheart]";
+			mes "The mechanic scholars won't just acknowledge you that easily and hand you the knowledge without you showing true effort first.";
+			next;
+			mes "[Chainheart]";
+			mes "Of course, I'm one of those scholars so I guess I can try to consider you.";
+			next;
+			mes "[Chainheart]";
+			mes "Anyhow, I just think it's unfair to exclude someone who's talented without any test.";
+			next;
+			mes "[Chainheart]";
+			mes "Hmm...";
+			next;
+			mes "[Chainheart]";
+			mes "Actually, if somebody can't teach you, you can learn by yourself.";
+			mes "If someone else can do it then anyone can figure it out for themself too right?";
+			next;
+			mes "[Chainheart]";
+			mes "It won't be easy but if your passion is strong and your talent is real then there shouldn't be any problems.";
+			next;
+			mes "[Chainheart]";
+			mes "Come to think of it...";
+			mes "Franklson developed";
+			mes "magic machinery on his own.";
+			mes "So why don't you go to";
+			mes "the Ruins of Juperos?";
+			next;
+			mes "[Chainheart]";
+			mes "As I told you before, if your passion and talent are real, you will definitely find something.";
+			next;
+			mes "[Chainheart]";
+			mes "Find out the knowledge";
+			mes "for yourself like we did.";
+			mes "Don't just next; around for someone to teach it to you. Show the passion that you claim to have.";
+			next;
+			set job_mechanic,3;
+			changequest 10091,10092;
+			mes "[Chainheart]";
+			mes "Anyway, whatever your choice might be I expect you to do your best.";
+			close;
+		case 2:
+			mes "[Chainheart]";
+			mes "What a strange person.";
+			mes "I thought that you had what it took to be a true Mechanic.";
+			close;
+		}
+	}
+	if(job_mechanic == 1)
+	{
+		mes "[Chainheart]";
+		mes "Ok let me catch my breath.";
+		mes "You must be interested in";
+		mes "magic machinery and the";
+		mes "world of Mechanics.";
+		mes "Ok, so let me explain.";
+		next;
+		mes "[Chainheart]";
+		mes "Magic machinery was born by a fusion between machines and magic.";
+		mes "The two haven't really been connected successfully together until now.";
+		next;
+		mes "[Chainheart]";
+		mes "If you use magic machinery, you really have to be familiar with the inner workings of machines.";
+		next;
+		mes "[Chainheart]";
+		mes "It can be used effectively,";
+		mes "and you don't need to rely on something that's uncertain and unstable as magic, so what can be better than this.";
+		next;
+		mes "[Chainheart]";
+		mes "The person who invented magic machinery is Franklson, a scholar from the Schwaltzvalt Republic.";
+		next;
+		mes "[Chainheart]";
+		mes "Franklson discovered an ancient machine in the ^FF0000Ruins of Juperos^000000 and fused it with the power of magic, and that was the beginning.";
+		next;
+		mes "[Chainheart]";
+		mes "So naturally, Franklson named the newborn machine Magic Machinery.";
+		next;
+		mes "[Chainheart]";
+		mes "Anyway, since it hasn't been too well known to other places outside of Juno, the study of Magic Machinery has been progressing since.";
+		next;
+		mes "[Chainheart]";
+		mes "Because we've researched";
+		mes "Magic Machinery endlessly";
+		mes "people started calling us ^FF0000Mechanics^000000.";
+		mes "The name is self-explanatory";
+		mes "so it just stuck.";
+		next;
+		mes "[Chainheart]";
+		mes "Hmm. Well I guess I'm done explaining Magic Machinery.";
+		mes "I want to explain more but it's too technical.";
+		mes "I don't want to bore you more.";
+		next;
+		set job_mechanic,2;
+		changequest 10090,10091;
+		mes "[Chainheart]";
+		mes "Anyway if you become one of us you can form your own definition and explanation of Mechanics yourself.";
+		close;
+	}
+	if (Class == 10 || Class == 4011)
+	{
+		if ((JobLevel > 49) && (SkillPoint == 0) && (BaseLevel > 98))
+		{
+			mes "[Chainheart]";
+			mes "At a glance, you, seem to be a very versatile person on dealing with various things.";
+			mes "You look quite skilled.";
+			mes "You can be the one.";
+			next;
+			mes "[Chainheart]";
+			mes "Ah, I didn't introduce myself.";
+			mes "I am the famous Chainheart.";
+			mes "I'm a Mechanic.";
+			mes "Well, actually I'm not that famous.";
+			next;
+			mes "[Chainheart]";
+			mes "I don't think the word Mechanic";
+			mes "is familiar to you.";
+			mes "In fact, when it comes";
+			mes "to the description,";
+			mes "it's a new job that can";
+			mes "be explained simply.";
+			next;
+			mes "[Chainheart]";
+			mes "One who studies and uses Magic Machinery, that is a Mechanic.";
+			next;
+			mes "[Chainheart]";
+			mes "So, what is the Magic Machinery that a Mechanic studies and uses?";
+			mes "That isn't as simple to explain but I'll give it a try.";
+			next;
+			setquest 10090;
+			set job_mechanic,1;
+			mes "[Chainheart]";
+			mes "Sorry, I'm starting";
+			mes "to talk too much.";
+			mes "Let me catch my";
+			mes "breath for a while.";
+			mes "If you are interested,";
+			mes "please talk to me again.";
+			close;
+		}
+		mes "[Chainheart]";
+		mes "You, look like someone who has a great sense on dealing with stuff.";
+		next;
+		mes "[Chainheart]";
+		mes "That power has been used on";
+		mes "just dealing with simple things.";
+		mes "That isn't going to give";
+		mes "you true enjoyment.";
+		next;
+		mes "[Chainheart]";
+		mes "Right... If you want to enjoy";
+		mes "true feelings of dealing and";
+		mes "a deep profoundness,";
+		mes "you need to handle";
+		mes "^FF0000Magic Machinery^000000!";
+		next;
+		mes "[Chainheart]";
+		mes "Magic Machinery hasn't been";
+		mes "in the world long, so recognizing it is not common yet.";
+		mes "It's very precise and completely different from anything you've experienced in the world.";
+		next;
+		mes "[Chainheart]";
+		mes "Yeah, and the ones who deal with magic machinery are called ^FF0000Mechanics^000000.";
+		mes "I am also the one of those honorable mechanics.";
+		next;
+		mes "[Chainheart]";
+		mes "It seems like you have what it takes to be a good mechanic.";
+		mes "Here are the basic requirements.";
+		next;
+		mes "[Chainheart]";
+		mes "If you come to me after reaching ^FF0000Base level 99^000000 and ^FF0000Job level 50^000000,";
+		mes "I will guide you to the world of Mechanics.";
+		close;
+	}
+	mes "[Chainheart]";
+	mes "Living as a Mechanic is tough,";
+	mes "but I am happy that I can";
+	mes "always do what I want.";
+	next;
+	mes "[Chainheart]";
+	mes "Don't you also want to become a Mechanic and enjoy true happiness?";
+	close;
+}
+
+jupe_cave,37,55,5	script	Scholar#Mechanic	883,{
+
+	if(checkweight(1201,1) == 4 || MaxWeight - Weight < 300)
+	{
+		mes "- Wait here!! -";
+		mes "- Your pack is too heavy. -";
+		mes "- Lighten your body first-";
+		mes "- and please try again.-";
+		close;
+	}
+
+	if(job_mechanic > 10)
+	{
+		mes "[Scholar]";
+		mes "How was Juperos?";
+		mes "I am so scared that I still";
+		mes "cannot go there.";
+		close;
+	}
+
+	if(job_mechanic > 3)
+	{
+		mes "[Scholar]";
+		mes "^FF0000You won't be able to reach the destination by walking.";
+		mes "^FF0000Strong enemies are not the problem here, you just won't be able to get to the destination.";
+		mes "Please make yourself at home.^000000";
+		next;
+		mes "[Scholar]";
+		mes "However comfortable it may be,";
+		mes "I have no intention to go.";
+		next;
+		mes "[Scholar]";
+		mes "Okay then, Are you ready";
+		mes "to go to the midway point";
+		mes "at Juperos?";
+		next;
+		switch(select("I am ready!:Not yet"))
+		{
+		case 1:
+			mes "[Scholar]";
+			mes "Uh... you are acting so firmly that I regret a little that I haven't gone there.";
+			mes "Should I have gone there? Uh... It's no use crying over spilled milk!";
+			next;
+			mes "[Scholar]";
+			mes "Well, I'll send you.";
+			mes "I hope you get";
+			mes "the knowledge";
+			mes "you wanted.";
+			close2;
+			warp "jupe_core2",149,288;
+			end;
+		case 2:
+			mes "[Scholar]";
+			mes "Umm... right. Of course, it's no surprise that you are hesitant.";
+			next;
+			mes "[Scholar]";
+			mes "But, if you don't take the warp that I open for you, you won't be able to get to the destination.";
+			mes "Please don't waste your energy.";
+			next;
+			mes "[Scholar]";
+			mes "Of course, no matter how comfortable you may be I wouldn't go there.";
+			close;
+		}
+	}
+	if(job_mechanic == 3)
+	{
+		mes "[Scholar]";
+		mes "I am a scholar who came here to research the ruins here in Juperos.";
+		next;
+		mes "[Scholar]";
+		mes "But... actually when";
+		mes "I try to go further";
+		mes "I get scared.";
+		mes "I can hardly go inside.";
+		mes "What can I do?";
+		next;
+		mes "[Scholar]";
+		mes "I heard a rumor that humans";
+		mes "aren't welcome inside there.";
+		mes "But it should be very useful to study the marvelous machines in there.";
+		next;
+		mes "[Scholar]";
+		mes "Umm? Are you also going to";
+		mes "Juperos to get something?";
+		mes "I have no courage to go in there.";
+		mes "Goodluck to you.";
+		next;
+		mes "[Scholar]";
+		mes "I know the way to get to";
+		mes "the midway point and I also have";
+		mes "all the stuff I need.";
+		mes "But I'm just too scared.";
+		next;
+		mes "[Scholar]";
+		mes "So if you want, I'll send you";
+		mes "to Juperos. Mr. Elder Scholar";
+		mes "has told me how to warp to";
+		mes "the midway point to Juperos.";
+		next;
+		set job_mechanic,4;
+		mes "[Scholar]";
+		mes "It is true that it becomes easy";
+		mes "but you can't help the fear";
+		mes "it's too bad. Anyway if you are";
+		mes "ready to go please tell me.";
+		close;
+	}
+	mes "[Scholar]";
+	mes "I am a scholar who came here to research the ruins here in Juperos.";
+	next;
+	mes "[Scholar]";
+	mes "But... actually when I try to go further";
+	mes "I'm scared. I can hardly go inside.";
+	mes "What can I do?";
+	next;
+	mes "[Scholar]";
+	mes "I heard a rumor that humans aren't welcome inside there.";
+	mes "But it should be very useful to study the marvelous machines in there.";
+	close;
+}
+
+jupe_core2,149,273,3	script	Ghostfire#1	802,{
+
+	if(job_mechanic == 11)
+	{
+		mes "[?]";
+		mes "I've lost my body and all that's left is my spirit in this place.";
+		mes "I will live and die here in Juperos forever...";
+		close;
+	}
+
+	if(job_mechanic == 10)
+	{
+		mes "[?]";
+		mes "That appearance... Is it so? You also gained the knowledge.";
+		mes "When the future is full of possibilities...";
+		mes "An attitude of a pure child";
+		mes "like you can do anything...";
+		next;
+		mes "[?]";
+		mes "Come to think of it now the most precious thing right now might be getting confidence rather than knowledge itself...";
+		next;
+		mes "[?]";
+		mes "Please don't make any";
+		mes "faults from now on as I did.";
+		mes "I hope you get knowledge";
+		mes "by yourself someday.";
+		next;
+		mes "[?]";
+		mes "Well then go back, find a human who knows of magic machinery and show evidence that you've gained the knowledge...";
+		next;
+		mes "[?]";
+		mes "I'm the one who lost my body";
+		mes "and my spirits are disrupted";
+		mes "I'm restricted to this place, Juperos... I will live and die with Juperos";
+		mes "Forever...";
+		next;
+		mes "[?]";
+		mes "My name... name is... Fr...";
+		set job_mechanic,11;
+		changequest 10100,10101;
+		close2;
+		warp "yuno",157,83;
+		end;
+	}
+	if(job_mechanic > 4)
+	{
+		mes "[?]";
+		mes "I've lost my body and all that's left is my spirit in this place.";
+		mes "I will live and die here in Juperos forever...";
+		close;
+	}
+	if (job_mechanic == 3 || job_mechanic == 4)
+	{
+		mes "[?]";
+		mes "Talented one.";
+		mes "Make sure there are";
+		mes "no enemies around.";
+		mes "If you focus on me,";
+		mes "you might get attacked.";
+		next;
+		switch(select("Well then, later.:Focus."))
+		{
+		case 1:
+			close;
+		case 2:
+			mes "[?]";
+			mes "I was once a human scholar.";
+			mes "I wanted to know the limitation of science that humankind didn't know of, so I learned a lot of things, studied and searched...";
+			next;
+			mes "[?]";
+			mes "That's when I discovered, the uncertain magical power.";
+			next;
+			mes "[?]";
+			mes "The thing with uncertain magic is that it is highly unstable and unpredictable.";
+			mes "During my studies I encountered a pocket of highly volatile magic.";
+			next;
+			mes "[?]";
+			mes "The only memories I have";
+			mes "are from that day forward.";
+			mes "I've been trapped here since.";
+			next;
+			mes "[?]";
+			mes "Juperos is all that I know now.";
+			mes "I'm going to die here.";
+			next;
+			mes "[?]";
+			mes "I don't know who you are...";
+			mes "I won't bother to know if you";
+			mes "want to gain some knowledge.";
+			mes "Find someone who cares.";
+			next;
+			changequest 10092,10094;
+			set job_mechanic,5;
+			mes "[?]";
+			mes "Knowledge isn't obtained from others. It is found through one's own efforts.";
+			mes "Find your own knowledge path.";
+			close;
+		}
+	}
+}
+
+jupe_core2,53,75,3	script	Ghostfire#2	802,{
+
+	if(job_mechanic > 5)
+	{
+		mes "[?]";
+		mes "Juperos... I...";
+		mes "Juperos... What I want";
+		mes "exists all in here...";
+		mes "The power of science...the paradise of machines...";
+		close;
+	}
+
+	if(job_mechanic == 5)
+	{
+		mes "[?]";
+		mes "Talented one.";
+		mes "Make sure there are";
+		mes "no enemies around.";
+		mes "If you focus on me,";
+		mes "you might get attacked.";
+		next;
+		switch(select("Well then, later:Focus"))
+		{
+		case 1:
+			close;
+		case 2:
+			mes "[?]";
+			mes "When I had a body";
+			mes "I wanted to prove the";
+			mes "excellence of science";
+			mes "to the ones who only believe";
+			mes "such occult things...";
+			next;
+			mes "[?]";
+			mes "I wanted to use the power of";
+			mes "magic as a reasonable form";
+			mes "which is visible. With stronger";
+			mes "results, I wanted to control";
+			mes "the power of magic by";
+			mes "using science....";
+			next;
+			mes "[?]";
+			mes "I wanted to show that science";
+			mes "is excellent to control magic";
+			mes "like the occult. I studied a lot";
+			mes "of things and agonized over";
+			mes "making science and magic";
+			mes "co-exist.";
+			next;
+			mes "[?]";
+			mes "My research led me here,";
+			mes "Juperos. In this place there";
+			mes "are many products of science";
+			mes "that could stimulate a scholar's";
+			mes "brain...";
+			next;
+			mes "[?]";
+			mes "I found that it was possible to join the power of magic with science.";
+			mes "Even if it wasn't perfect, it appealed enough to the other scholars...";
+			next;
+			mes "[?]";
+			mes "The recent events of the world have created a confusion so my research hasn't been shared with the rest of the world.";
+			next;
+			set job_mechanic,6;
+			changequest 10094,10095;
+			mes "[?]";
+			mes "So... I came back to Juperos to continue my investigation of science and magic.";
+			close;
+		}
+	}
+}
+
+jupe_core2,242,62,3	script	Ghostfire#3	802,{
+
+	if(job_mechanic > 6)
+	{
+		mes "[?]";
+		mes "I want to know more about the knowledge...";
+		mes "the features of humans...";
+		mes "The things to be done first and later...";
+		mes "The door of truth will later...";
+		close;
+	}
+
+	if(job_mechanic == 6)
+	{
+		mes "[?]";
+		mes "Talented one.";
+		mes "Make sure there are";
+		mes "no enemies around.";
+		mes "If you focus on me,";
+		mes "you might get attacked.";
+		next;
+		switch(select("Well then, later:Focus"))
+		{
+		case 1:
+			close;
+		case 2:
+			mes "[?]";
+			mes "I wasn't satisfied with my success so I came back here time and time again.";
+			next;
+			mes "[?]";
+			mes "When I stepped on a marker between 2 mechanical statues, the energy I had gathered and learned was absorbed.";
+			next;
+			mes "[?]";
+			mes "But, with that energy being absorbed, I began to gain knowledge that I never knew previously.";
+			next;
+			mes "[?]";
+			mes "But it came at a price. With the knowledge I started losing my humanity.";
+			mes "I lost my body and the only";
+			mes "thing I had was my spirit.";
+			next;
+			mes "[?]";
+			mes "I don't regret gaining the knowledge. All I wish is that I could have my body back.";
+			next;
+			set job_mechanic,7;
+			changequest 10095,10096;
+			mes "[?]";
+			mes "After I had poured my energy into the statue, I discovered that I could move my energy to different statues.";
+			close;
+		}
+	}
+}
+
+jupe_core2,29,150,1	script	Foothold	139,1,1,{
+
+OnTouch:
+	if(job_mechanic == 8)
+	{
+		percentheal 0,-30;
+		mes "-Suddenly I feel power is-";
+		mes "-escaping my whole body-";
+		mes "-What is happening?-";
+		next;
+		mes "-Find the door of truth-";
+		mes "-it is the source of the-";
+		mes "-power drain.-";
+		close;
+	}
+	if(job_mechanic == 7)
+	{
+		percentheal -20,0;
+		mes "-Suddenly, an unidentified-";
+		mes "-voice is ringing in my head-";
+		mes "-What is it?-";
+		next;
+		mes "-Handling machines-";
+		mes "-absorbing magic power-";
+		mes "-a sacrificial offering-";
+		mes "-the statue of a human-";
+		next;
+		set job_mechanic,8;
+		changequest 10096,10097;
+		mes "-Most certain of all is that-";
+		mes "-I started to feel the urge-";
+		mes "-to go to the door of truth-";
+		close;
+	}
+	if(job_mechanic > 2)
+	{
+		percentheal 0,-30;
+		mes "-Suddenly I feel power is-";
+		mes "-escaping from my body-";
+		mes "-What is happening?-";
+		close;
+	}
+}
+
+jupe_core2,272,149,1	script	Foothold2	139,1,1,{
+
+OnTouch:
+	if(job_mechanic == 9)
+	{
+		mes "-I had a feeling that power-";
+		mes "-has been draining out,-";
+		mes "-but now, I do not-";
+		mes "-feel anything.-";
+		next;
+		mes "-Go to the south of-";
+		mes "-the foothold quickly-";
+		close;
+	}
+	if(job_mechanic == 8)
+	{
+		percentheal -20,-30;
+		mes "-Suddenly I feel power is-";
+		mes "-escaping from my body-";
+		mes "-What is happening?-";
+		next;
+		mes "-I feel my senses-";
+		mes "-are returning to me-";
+		next;
+		donpcevent "Door::OnDoorOpen";
+		changequest 10097,10098;
+		mes "-Walk to the Door of Truth-";
+		close;
+	}
+	if(job_mechanic > 2)
+	{
+		percentheal 0,-30;
+		mes "-Suddenly I feel power is-";
+		mes "-escaping from my body-";
+		mes "-What is happening?-";
+		close;
+	}
+}
+
+jupe_core2,288,142,3	script	Door	844,{
+
+OnInit:
+	disablenpc "Door";
+	end;
+
+OnDoorClose:
+	disablenpc "Door";
+	end;
+
+OnDoorOpen:
+	enablenpc "Door";
+	specialeffect EF_MAPPILLAR,AREA,"Door";
+	initnpctimer;
+	end;
+
+OnTimer180000:
+	donpcevent "Door::OnDoorClose";
+	end;
+
+	mes "-Once again a voice rings out-";
+	mes "-in my head. This time it is-";
+	mes "-different than before, it is a-";
+	mes "-voice of an impressive person-";
+	next;
+	mes "I know you came this far because you want the knowledge.";
+	mes "Humans are weak animals";
+	mes "and any sacrifice is a hard";
+	mes "decision for them to make.";
+	next;
+	mes "But you are lacking something to pass through this door of truth.";
+	mes "Through this door is knowledge above all human thinking.";
+	next;
+	mes "It won't harm a human's mind if it doesn't surpass your brain capacity.";
+	next;
+	mes "Try to put your body onto the foothold of knowledge at the south.";
+	next;
+	mes "If the knowledge suits you, you'll be able to obtain it without becoming a sacrificial offering.";
+	mes "If you are unqualified, you will lose your body as a sacrifice.";
+	next;
+	mes "When you are qualified, you will be able to pass through the door of truth.";
+	mes "Till that day, don't lose yourself.";
+	next;
+	mes "............";
+	next;
+	mes "-I can't hear any voices-";
+	mes "-anymore and I can't feel-";
+	mes "-anything in this place.-";
+	next;
+	mes "-As the ringing voice in my-";
+	mes "-head instructed, let's go to-";
+	mes "-the southern marker.-";
+	set job_mechanic,9;
+	changequest 10098,10099;
+	close2;
+	donpcevent "Door::OnDoorClose";
+	end;
+}
+
+jupe_core2,149,34,1	script	Acquiring Knowledge	139,1,0,{
+
+OnTouch:
+	if(job_mechanic == 9)
+	{
+		mes "-The moment I stepped on-";
+		mes "-the marker the voice-";
+		mes "-didn't come into my brain-";
+		mes "-rather new knowledge-";
+		mes "-came in naturally.-";
+		next;
+		mes "-Almost instantaneously-";
+		mes "-you gained all of the-";
+		mes "knowledge that you need-";
+		mes "-to know about mechanics-";
+		mes "-and magic machinery.-";
+		next;
+		set job_mechanic,10;
+		changequest 10099,10100;
+		specialeffect EF_POTION_CON,AREA,"Acquiring Knowledge";
+		mes "-This amount of-";
+		mes "-knowledge is enough-";
+		mes "-and find a way out.-";
+		close;
+	}
+}
+
+jupe_core2,150,33,1	script	Acquiring Knowledge#2	139,1,0,{
+
+OnTouch:
+	if(job_mechanic == 9)
+	{
+		mes "-The moment I stepped on-";
+		mes "-the marker the voice-";
+		mes "-didn't come into my brain-";
+		mes "-rather new knowledge-";
+		mes "-came in naturally.-";
+		next;
+		mes "-Almost instantaneously-";
+		mes "-you gained all of the-";
+		mes "knowledge that you need-";
+		mes "-to know about mechanics-";
+		mes "-and magic machinery.-";
+		next;
+		set job_mechanic,10;
+		changequest 10099,10100;
+		specialeffect EF_POTION_CON,AREA,"Acquiring Knowledge#2";
+		mes "-This amount of-";
+		mes "-knowledge is enough-";
+		mes "-and find a way out.-";
+		close;
+	}
+}
+
+jupe_core2,0,0,0,0	monster	Dimik	1669,100,0,0,0

+ 634 - 0
npc/merchants/3rd_trader.txt

@@ -0,0 +1,634 @@
+//===== eAthena Script ======================================= 
+//= 3rd Item Seller
+//===== By: ================================================== 
+//= Masao
+//===== Current Version: ===================================== 
+//= 1.0
+//===== Compatible With: ===================================== 
+//= eAthena SVN
+//===== Description: ========================================= 
+//= [Aegis Conversion]
+//= Sells some 3rd Job related Items.
+//===== Additional Comments: ================================= 
+//= v1.0 First Version.
+//============================================================ 
+
+job3_guil01,79,96,3	script	Poison Herb Salesman::phsale	877,{
+
+	if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
+	{
+		mes "- Wait a minute !! -";
+		mes "- Currently you're carrying -";
+		mes "- too many items with you. -";
+		mes "- Please try again -";
+		mes "- after you loose some weight. -";
+		close;
+	}
+
+	mes "[Poison Herb Salesman]";
+	mes "I am the professional";
+	mes "poison herb seller.";
+	mes "Which one do you want?";
+	mes "They cost 4,000 zeny each!";
+	next;
+	switch(select("Nerium:Rantana:Makulata:Seratum:Scopolia:Amoena:Poison Kit"))
+	{
+	case 1:
+		mes "[Poison Herb Salesman]";
+		mes "How many do you want? You can";
+		mes "only buy a maximum of 2000ea";
+		mes "and if you want to cancel, enter '0'.";
+		next;
+		input .@amount;
+		if(.@amount == 0)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "You've cancelled the trade.";
+			close;
+		}
+		else if(.@amount > 2000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the maximum";
+			mes "amount and then try again.";
+			close;
+		}
+		else if(Zeny < .@amount * 4000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the money you have,";
+			mes "It doesn't seem like you have enough money.";
+			close;
+		}
+		set Zeny,Zeny - .@amount * 4000;
+		getitem 7932,.@amount;
+		mes "[Poison Herb Salesman]";
+		mes "Thank you. See you~!";
+		close;
+	case 2:
+		mes "[Poison Herb Salesman]";
+		mes "How many do you want? You can";
+		mes "only buy a maximum of 2000ea";
+		mes "and if you want to cancel, enter '0'.";
+		next;
+		input .@amount;
+		if(.@amount == 0)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "You've cancelled the trade.";
+			close;
+		}
+		else if(.@amount > 2000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the maximum";
+			mes "amount and then try again.";
+			close;
+		}
+		else if(Zeny < .@amount * 4000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the money you have,";
+			mes "It doesn't seem like you have enough money.";
+			close;
+		}
+		set Zeny,Zeny - .@amount * 4000;
+		getitem 7933,.@amount;
+		mes "[Poison Herb Salesman]";
+		mes "Thank you. See you~!";
+		close;
+	case 3:
+		mes "[Poison Herb Salesman]";
+		mes "How many do you want? You can";
+		mes "only buy a maximum of 2000ea";
+		mes "and if you want to cancel, enter '0'.";
+		next;
+		input .@amount;
+		if(.@amount == 0)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "You've cancelled the trade.";
+			close;
+		}
+		else if(.@amount > 2000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the maximum";
+			mes "amount and then try again.";
+			close;
+		}
+		else if(Zeny < .@amount * 4000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the money you have,";
+			mes "It doesn't seem like you have enough money.";
+			close;
+		}
+		set Zeny,Zeny - .@amount * 4000;
+		getitem 7934,.@amount;
+		mes "[Poison Herb Salesman]";
+		mes "Thank you. See you~!";
+		close;
+	case 4:
+		mes "[Poison Herb Salesman]";
+		mes "How many do you want? You can";
+		mes "only buy a maximum of 2000ea";
+		mes "and if you want to cancel, enter '0'.";
+		next;
+		input .@amount;
+		if(.@amount == 0)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "You've cancelled the trade.";
+			close;
+		}
+		else if(.@amount > 2000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the maximum";
+			mes "amount and then try again.";
+			close;
+		}
+		else if(Zeny < .@amount * 4000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the money you have,";
+			mes "It doesn't seem like you have enough money.";
+			close;
+		}
+		set Zeny,Zeny - .@amount * 4000;
+		getitem 7935,.@amount;
+		mes "[Poison Herb Salesman]";
+		mes "Thank you. See you~!";
+		close;
+	case 5:
+		mes "[Poison Herb Salesman]";
+		mes "How many do you want? You can";
+		mes "only buy a maximum of 2000ea";
+		mes "and if you want to cancel, enter '0'.";
+		next;
+		input .@amount;
+		if(.@amount == 0)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "You've cancelled the trade.";
+			close;
+		}
+		else if(.@amount > 2000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the maximum";
+			mes "amount and then try again.";
+			close;
+		}
+		else if(Zeny < .@amount * 4000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the money you have,";
+			mes "It doesn't seem like you have enough money.";
+			close;
+		}
+		set Zeny,Zeny - .@amount * 4000;
+		getitem 7936,.@amount;
+		mes "[Poison Herb Salesman]";
+		mes "Thank you. See you~!";
+		close;
+	case 6:
+		mes "[Poison Herb Salesman]";
+		mes "How many do you want? You can";
+		mes "only buy a maximum of 2000ea";
+		mes "and if you want to cancel, enter '0'.";
+		next;
+		input .@amount;
+		if(.@amount == 0)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "You've cancelled the trade.";
+			close;
+		}
+		else if(.@amount > 2000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the maximum";
+			mes "amount and then try again.";
+			close;
+		}
+		else if(Zeny < .@amount * 4000)
+		{
+			mes "[Poison Herb Salesman]";
+			mes "Please check the money you have,";
+			mes "It doesn't seem like you have enough money.";
+			close;
+		}
+		set Zeny,Zeny - .@amount * 4000;
+		getitem 7937,.@amount;
+		mes "[Poison Herb Salesman]";
+		mes "Thank you. See you~!";
+		close;
+	case 7:
+		mes "[Poison Herb Salesman]";
+		mes "You can only buy";
+		mes "1 Poison Kit and it costs 5,000 zeny.";
+		mes "Will you buy it?";
+		next;
+		switch(select("Yes, I will.:No, I won't."))
+		{
+		case 1:
+			if(Zeny < 5000)
+			{
+				mes "[Poison Herb Salesman]";
+				mes "Please check the money you have.";
+				mes "It doesn't seem like you have enough money.";
+				close;
+			}
+			set Zeny,Zeny - 5000;
+			getitem 7931,1;
+			mes "[Poison Herb Salesman]";
+			mes "Thank you. See you~!";
+			close;
+		case 2:
+			mes "[Poison Herb Salesman]";
+			mes "Well, I see. See you~!";
+			close;
+		}
+	}
+}
+
+job3_rune01,90,62,3	script	Rune Salesman::runesale	853,{
+
+	if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
+	{
+		mes "- Wait a minute !! -";
+		mes "- Currently you're carrying -";
+		mes "- too many items with you. -";
+		mes "- Please try again -";
+		mes "- after you loose some weight. -";
+		close;
+	}
+
+	mes "[Rune Salesman]";
+	mes "Hey, do you need Runes?!";
+	mes "I sell all kinds of Rune Stones!";
+	mes "What kind of Rune do you want?";
+	next;
+	switch(select("Buy high-quality Rune Stones.:Buy ordinary Rune Stones."))
+	{
+	case 1:
+		mes "[Rune Salesman]";
+		mes "High-quality Runes!";
+		mes "They cost 2,500 zeny each!";
+		mes "Tell me how many you want to buy";
+		mes "and remember, you can only";
+		mes "buy a maximum amount of 2000 ea!";
+		next;
+		input .@amount;
+		if(.@amount == 0)
+		{
+			mes "[Rune Salesman]";
+			mes "You're not buying? Go away!";
+			close;
+		}
+		else if(.@amount > 2000)
+		{
+			mes "[Rune Salesman]";
+			mes "Please check the maximum";
+			mes "amount and then come back to me again!";
+			close;
+		}
+		else if(Zeny < .@amount * 2500)
+		{
+			mes "[Rune Salesman]";
+			mes "Money! Money!";
+			mes "You are short of money!";
+			mes "Check the amount of money you have!!";
+			close;
+		}
+		set .@checkweight,.@amount * 100;
+		if (MaxWeight < .@checkweight)
+		{
+			mes "[Rune Salesman]";
+			mes "You're not able to carry it, so why are you trying to buy it?!";
+			close;
+		}
+		set Zeny,Zeny - .@amount * 2500;
+		getitem 12734,.@amount;
+		mes "[Rune Salesman]";
+		mes "You can buy more again.";
+		mes "So, see you later.";
+		close;
+	case 2:
+		mes "[Rune Salesman]";
+		mes "Ordinary Rune Stones?";
+		mes "They cost 1,000 zeny each!";
+		mes "Tell me how many you want to buy";
+		mes "and remember, you can only";
+		mes "buy a maximum amount of 2000 ea!";
+		next;
+		input .@amount;
+		if(.@amount == 0)
+		{
+			mes "[Rune Salesman]";
+			mes "You're not buying? Go away!";
+			close;
+		}
+		else if(.@amount > 2000)
+		{
+			mes "[Rune Salesman]";
+			mes "Please check the maximum";
+			mes "amount and then come back to me again!";
+			close;
+		}
+		else if(Zeny < .@amount * 1000)
+		{
+			mes "[Rune Salesman]";
+			mes "Money! Money!";
+			mes "You are short of money!";
+			mes "Check the amount of money you have!!";
+			close;
+		}
+		set .@checkweight,.@amount * 100;
+		if (MaxWeight < .@checkweight)
+		{
+			mes "[Rune Salesman]";
+			mes "You're not able to carry it, so why are you trying to buy it?!";
+			close;
+		}
+		set Zeny,Zeny - .@amount * 1000;
+		getitem 12737,.@amount;
+		mes "[Rune Salesman]";
+		mes "You can buy more again.";
+		mes "So, see you later.";
+		close;
+	}
+}
+
+job3_guil01,91,93,3	script	Rare Herb Collector	49,{
+
+	if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
+	{
+		mes "- Wait a minute !! -";
+		mes "- Currently you're carrying -";
+		mes "- too many items with you. -";
+		mes "- Please try again -";
+		mes "- after you loose some weight. -";
+		close;
+	}
+
+	if (Class == 4059 || Class == 4065)
+	{
+		mes "[Rare Poison Herb Collector]";
+		mes "I wander around the world and collect rare poison herbs. Recently, I am dealing in the herb called Izidor. If you are interested, you can buy them.";
+		next;
+		switch(select("How can I buy them?:Exchange it with Animal Blood:Exchange it with a Bitter Herb:Exchange it with a Deadly Noxious Herb:Exchange it with a Frozen Rose:Exchange it with Ment:Exchange it with Hinalle"))
+		{
+		case 1:
+			mes "[Rare Poison Herb Collector]";
+			mes "You can buy any of those items for 10,000 zeny: Animal Blood, Bitter Herb, Deadly Noxious Herb, Frozen Rose, Ment or Hinalle. ";
+			next;
+			mes "[Rare Poison Herb Collector]";
+			mes "Why I ask for money? That is just to pay a little respect to a collector like me. Ha ha ha...";
+			close;
+		case 2:
+			if ((countitem(702) > 0) && (Zeny > 9999))
+			{
+				mes "[Rare Poison Herb Collector]";
+				mes "Thank you. I've received your payment.";
+				delitem 702,1;
+				set Zeny,Zeny - 10000;
+				getitem 709,1;
+				close;
+			}
+			mes "[Rare Poison Herb Collector]";
+			mes "Hey, try again after you've prepared all the requirements for the exchange.";
+			close;
+		case 3:
+			if ((countitem(621) > 0) && (Zeny > 9999))
+			{
+				mes "[Rare Poison Herb Collector]";
+				mes "Thank you. I've received your payment.";
+				delitem 621,1;
+				set Zeny,Zeny - 10000;
+				getitem 709,1;
+				close;
+			}
+			mes "[Rare Poison Herb Collector]";
+			mes "Hey, try again after you've prepared all the requirements for the exchange.";
+			close;
+		case 4:
+			if ((countitem(631) > 0) && (Zeny > 9999))
+			{
+				mes "[Rare Poison Herb Collector]";
+				mes "Thank you. I've received your payment.";
+				delitem 631,1;
+				set Zeny,Zeny - 10000;
+				getitem 709,1;
+				close;
+			}
+			mes "[Rare Poison Herb Collector]";
+			mes "Hey, try again after you've prepared all the requirements for the exchange.";
+			close;
+		case 5:
+			if ((countitem(749) > 0) && (Zeny > 9999))
+			{
+				mes "[Rare Poison Herb Collector]";
+				mes "Thank you. I've received your payment.";
+				delitem 749,1;
+				set Zeny,Zeny - 10000;
+				getitem 709,1;
+				close;
+			}
+			mes "[Rare Poison Herb Collector]";
+			mes "Hey, try again after you've prepared all the requirements for the exchange.";
+			close;
+		case 6:
+			if ((countitem(605) > 0) && (Zeny > 9999))
+			{
+				mes "[Rare Poison Herb Collector]";
+				mes "Thank you. I've received your payment.";
+				delitem 605,1;
+				set Zeny,Zeny - 10000;
+				getitem 709,1;
+				close;
+			}
+			mes "[Rare Poison Herb Collector]";
+			mes "Hey, try again after you've prepared all the requirements for the exchange.";
+			close;
+		case 7:
+			if ((countitem(703) > 0) && (Zeny > 9999))
+			{
+				mes "[Rare Poison Herb Collector]";
+				mes "Thank you. I've received your payment.";
+				delitem 703,1;
+				set Zeny,Zeny - 10000;
+				getitem 709,1;
+				close;
+			}
+			mes "[Rare Poison Herb Collector]";
+			mes "Hey, try again after you've prepared all the requirements for the exchange.";
+			close;
+		}
+	}
+	mes "[Rare Poison Herb Collector]";
+	mes "I wander around the world and collect rare poison herbs. But I don't feel like selling my herbs to a person like you... ha ha ha...";
+	close;
+}
+
+gef_tower,105,172,5	script	Point Salesman#Sorcerer	700,{
+
+	if(checkweight(1201,1) == 0 || MaxWeight - Weight < 20000)
+	{
+		mes "- Wait a minute !! -";
+		mes "- Currently you're carrying -";
+		mes "- too many items with you. -";
+		mes "- Please try again -";
+		mes "- after you loose some weight. -";
+		close;
+	}
+
+    mes "[Point Salesman]";
+	mes "Hello. I'm selling a catalyst that are called ^FF0000Points^000000 for Sorcerers. What would you like?";
+	next;
+	switch(select("Scarlet Points - 200z:Lime Green Points - 200z:Indigo Points - 200z:Yellow Wish Points - 200z:Cancel"))
+	{
+	case 1:
+        mes "[Point Salesman]";
+		mes "You have chosen Scarlet Points.";
+		mes "How many do you want?";
+		mes "If you want to cancel, enter 0.";
+		next;
+		input .@amount;
+        if (.@amount == 0)
+		{
+            mes "[Point Salesman]";
+            mes "You've cancelled the trade.";
+            close;
+		}
+		set .@po_weight,.@amount * 10;
+		set .@tt_weight,MaxWeight - .@po_weight;
+		set .@po_money,.@amount * 200;
+		if (.@tt_weight > 0)
+		{
+			if (Zeny >= .@po_money)
+			{
+				set Zeny,Zeny - .@po_money;
+				getitem 6360,.@amount;
+				mes "[Point Salesman]";
+				mes "Thank you very much. See you~!";
+				close;
+			}
+			mes "[Point Salesman]";
+			mes "You don't seem to have enough money.";
+			close;
+		}
+		mes "[Point Salesman]";
+		mes "You don't have enough space in your inventory to buy this amount.";
+		close;
+    case 2:
+        mes "[Point Salesman]";
+		mes "You have chosen Lime Green Points.";
+		mes "How many do you want?";
+		mes "If you want to cancel, enter 0.";
+		next;
+		input .@amount;
+        if (.@amount == 0)
+		{
+            mes "[Point Salesman]";
+            mes "You've cancelled the trade.";
+            close;
+		}
+		set .@po_weight,.@amount * 10;
+		set .@tt_weight,MaxWeight - .@po_weight;
+		set .@po_money,.@amount * 200;
+		if (.@tt_weight > 0)
+		{
+			if (Zeny >= .@po_money)
+			{
+				set Zeny,Zeny - .@po_money;
+				getitem 6363,.@amount;
+				mes "[Point Salesman]";
+				mes "Thank you very much. See you~!";
+				close;
+			}
+			mes "[Point Salesman]";
+			mes "You don't seem to have enough money.";
+			close;
+		}
+		mes "[Point Salesman]";
+		mes "You don't have enough space in your inventory to buy this amount.";
+		close;
+    case 3:
+        mes "[Point Salesman]";
+		mes "You have chosen Indigo Points.";
+		mes "How many do you want?";
+		mes "If you want to cancel, enter 0.";
+		next;
+		input .@amount;
+        if (.@amount == 0)
+		{
+            mes "[Point Salesman]";
+            mes "You've cancelled the trade.";
+            close;
+		}
+		set .@po_weight,.@amount * 10;
+		set .@tt_weight,MaxWeight - .@po_weight;
+		set .@po_money,.@amount * 200;
+		if (.@tt_weight > 0)
+		{
+			if (Zeny >= .@po_money)
+			{
+				set Zeny,Zeny - .@po_money;
+				getitem 6361,.@amount;
+				mes "[Point Salesman]";
+				mes "Thank you very much. See you~!";
+				close;
+			}
+			mes "[Point Salesman]";
+			mes "You don't seem to have enough money.";
+			close;
+		}
+		mes "[Point Salesman]";
+		mes "You don't have enough space in your inventory to buy this amount.";
+		close;
+    case 4:
+        mes "[Point Salesman]";
+		mes "You have chosen Yellow Wish Points.";
+		mes "How many do you want?";
+		mes "If you want to cancel, enter 0.";
+		next;
+		input .@amount;
+        if (.@amount == 0)
+		{
+            mes "[Point Salesman]";
+            mes "You've cancelled the trade.";
+            close;
+		}
+		set .@po_weight,.@amount * 10;
+		set .@tt_weight,MaxWeight - .@po_weight;
+		set .@po_money,.@amount * 200;
+		if (.@tt_weight > 0)
+		{
+			if (Zeny >= .@po_money)
+			{
+				set Zeny,Zeny - .@po_money;
+				getitem 6362,.@amount;
+				mes "[Point Salesman]";
+				mes "Thank you very much. See you~!";
+				close;
+			}
+			mes "[Point Salesman]";
+			mes "You don't seem to have enough money.";
+			close;
+		}
+		mes "[Point Salesman]";
+		mes "You don't have enough space in your inventory to buy this amount.";
+		close;
+    case 5:
+        mes "[Point Salesman]";
+		mes "You can't find the stuff you need?";
+        close;
+	}
+}
+
+morocc,190,96,4	duplicate(phsale)	Poison Herb Salesman#1	877
+lhz_in02,16,205,4	duplicate(phsale)	Poison Herb Salesman#2	877
+prontera,168,228,3	duplicate(runesale)	Rune Salesman#1	853

+ 1 - 0
npc/scripts_athena.conf

@@ -60,6 +60,7 @@ npc: npc/merchants/manuk.txt
 npc: npc/merchants/splendide.txt
 npc: npc/merchants/splendide.txt
 npc: npc/merchants/wander_pet_food.txt
 npc: npc/merchants/wander_pet_food.txt
 npc: npc/merchants/buying_shops.txt
 npc: npc/merchants/buying_shops.txt
+npc: npc/merchants/3rd_trader.txt
 // --------------------------------------------------------------
 // --------------------------------------------------------------
 // ------------------------- Cash Shop --------------------------
 // ------------------------- Cash Shop --------------------------
 // See file before enabling, as you may wish to change the
 // See file before enabling, as you may wish to change the

+ 1 - 1
npc/scripts_jobs.conf

@@ -56,7 +56,7 @@ npc: npc/jobs/2-1e/StarGladiator.txt
 npc: npc/jobs/2-2e/SoulLinker.txt
 npc: npc/jobs/2-2e/SoulLinker.txt
 // -- 3-1
 // -- 3-1
 npc: npc/jobs/3-1/archbishop.txt
 npc: npc/jobs/3-1/archbishop.txt
-//npc: npc/jobs/3-1/mechanic.txt
+npc: npc/jobs/3-1/mechanic.txt
 //npc: npc/jobs/3-1/ranger.txt
 //npc: npc/jobs/3-1/ranger.txt
 npc: npc/jobs/3-1/rune_knight.txt
 npc: npc/jobs/3-1/rune_knight.txt
 //npc: npc/jobs/3-1/warlock.txt
 //npc: npc/jobs/3-1/warlock.txt