summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/jobs/3-1/mechanic.txt877
-rw-r--r--npc/merchants/3rd_trader.txt634
-rw-r--r--npc/scripts_athena.conf1
-rw-r--r--npc/scripts_jobs.conf2
4 files changed, 1513 insertions, 1 deletions
diff --git a/npc/jobs/3-1/mechanic.txt b/npc/jobs/3-1/mechanic.txt
new file mode 100644
index 000000000..62ea89f0c
--- /dev/null
+++ b/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 \ No newline at end of file
diff --git a/npc/merchants/3rd_trader.txt b/npc/merchants/3rd_trader.txt
new file mode 100644
index 000000000..7d16b1a1a
--- /dev/null
+++ b/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 \ No newline at end of file
diff --git a/npc/scripts_athena.conf b/npc/scripts_athena.conf
index 828365fc2..f22db7cc3 100644
--- a/npc/scripts_athena.conf
+++ b/npc/scripts_athena.conf
@@ -60,6 +60,7 @@ npc: npc/merchants/manuk.txt
npc: npc/merchants/splendide.txt
npc: npc/merchants/wander_pet_food.txt
npc: npc/merchants/buying_shops.txt
+npc: npc/merchants/3rd_trader.txt
// --------------------------------------------------------------
// ------------------------- Cash Shop --------------------------
// See file before enabling, as you may wish to change the
diff --git a/npc/scripts_jobs.conf b/npc/scripts_jobs.conf
index 6750907b1..61492e5dd 100644
--- a/npc/scripts_jobs.conf
+++ b/npc/scripts_jobs.conf
@@ -56,7 +56,7 @@ npc: npc/jobs/2-1e/StarGladiator.txt
npc: npc/jobs/2-2e/SoulLinker.txt
// -- 3-1
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/rune_knight.txt
//npc: npc/jobs/3-1/warlock.txt