summaryrefslogtreecommitdiff
path: root/npc
diff options
context:
space:
mode:
Diffstat (limited to 'npc')
-rw-r--r--npc/Changelog.txt3
-rw-r--r--npc/jobs/2-2e/SoulLinker.txt896
2 files changed, 611 insertions, 288 deletions
diff --git a/npc/Changelog.txt b/npc/Changelog.txt
index ccd6205f8..b98ec7434 100644
--- a/npc/Changelog.txt
+++ b/npc/Changelog.txt
@@ -1,5 +1,8 @@
Date Added
======
+2007/11/24
+ * Rescripted Soul Linker Quest to Aegis 10.3 Standars. [Samuray22]
+ - Bug testing required.
2007/11/23
* Fixed a error in Rogue Job Quest. (bugreport:481) [Samuray22]
2007/11/22
diff --git a/npc/jobs/2-2e/SoulLinker.txt b/npc/jobs/2-2e/SoulLinker.txt
index 57c7cc11e..4224aeff1 100644
--- a/npc/jobs/2-2e/SoulLinker.txt
+++ b/npc/jobs/2-2e/SoulLinker.txt
@@ -1,316 +1,636 @@
//===== eAthena Script =======================================
//= Soul Linker Job Quest
//===== By: ==================================================
-//= Celestria
+//= Celestria & Samuray22
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
//= eAthena 1.0 +
//===== Description: =========================================
-//=
+//= [Aegis Conversion]
+//= Job quest for Soul Linker class.
+//= [Vars Used]
+//= SOUL_Q = Job Change Phase. (Max 4)
+//= $@SOUL_Q = Used when somebody is doing the test. (Max 1)
+//= [Reset Global Vars]
+//= The Password to reset the Global Var is 1854
//===== Additional Comments: =================================
-//= A temp Soul Linker Job Changer based on the kRO quest.
-//= Quest info from RagnaInfo. Sprites from kRO screenshots
-//= 1.0 Optimized and updated [Lupus]
-//= 1.1 Fixed NPC names according to iRO [Lupus]
+//= 1.2 Rescripted to Aegis 10.3 stadards. [Samuray22]
//============================================================
-morocc_in,174,30,7 script Kid#sltest 716,{
- if(SOUL_Q==1) goto L_Check;
- if(SOUL_Q >= 2) goto L_Warp;
- if(Class==Job_Soul_Linker) goto L_Thanks;
- mes "[Kid]";
- mes "*sniff sniff*";
- next;
- if((Class==Job_Taekwon) && (JobLevel>=40)) goto L_Taekwon;
- mes "The little boy is crying and";
- mes "it doesn't look like you're";
- mes "going to be able to stop him.";
- close;
-
-L_Thanks:
- mes "[Kid]";
- mes "Hey, Thank you for helping";
- mes "me earlier ^_^";
- close;
-
-L_Taekwon:
- mes "[Kid]";
- mes "Excuse me. *sniff*";
- mes "I don't suppose you couldvhelp me?";
- next;
- menu "Go on...",L_Goon,"No, I'm busy.",L_No;
-
-L_No:
- mes "[Kid]";
- mes "Waaaaaaaaaaaaaah~";
- close;
-
-L_Goon:
- mes "[Kid]";
- mes "Well you see, I was doing some";
- mes "shopping for my daddy, who's";
- mes "an alchemist, and on my way home";
- mes "a thief came and took my shopping!";
- next;
- menu "I'll get you your stuff.",-,"Awww, that's too bad.",L_No;
- mes "[Kid]";
- mes "Really!?";
- mes "You'll do that for me?";
- set SOUL_Q,1;
- next;
- mes "[Kid]";
- mes "Ok, what I need is:";
- mes "^0000FF- 1 3-Carat Diamond^000000";
- mes "^0000FF- 1 Witherless Rose^000000";
- mes "^0000FF- 1 Immortal Heart^000000";
- next;
- mes "[Kid]";
- mes "Please find these things quickly...";
- close;
-
-L_Check:
- if(countitem(748) < 1 || countitem(732) < 1 || countitem(929) < 1) goto L_Noitem;
- delitem 748,1;
- delitem 732,1;
- delitem 929,1;
- set SOUL_Q,2;
- if(SkillPoint) goto L_Skill;
- mes "[Kid]";
- mes "Wow, Thank you so much!";
- mes "You're so helpful, I think I";
- mes "know of a few other people";
- mes "who could use your help.";
- next;
- menu "Lead the way.",L_Warp,"Umm... Not right now.",-;
- mes "[Kid]";
- mes "Okay, come back when you change your mind.";
- close;
+morocc_in,174,30,2 script Kid#link1 716,{
+ if(BaseJob == Job_Soul_Linker) {
+ mes "[Maia]";
+ mes "Best of luck in your";
+ mes "journeys. As you master";
+ mes "more Soul Linker skills,";
+ mes "you will be able to draw";
+ mes "more of the spirits' power";
+ mes "to endow upon your allies...";
+ close;
+ } else if(BaseJob == Job_Star_Gladiator || BaseJob == Job_Star_Gladiator2) {
+ mes "[Kid]";
+ mes "Aren't you a warrior";
+ if(Sex == 1) {
+ mes "of the sun? I'm familiar";
+ } else {
+ mes "the moon? I'm familiar";
+ }
+ mes "with your ways. After all,";
+ mes "the basis of both of our";
+ mes "skills is grounded in the";
+ mes "Taekwon Do job, right?";
+ close;
+ } else if (BaseJob != Job_Taekwon) {
+ mes "[Kid]";
+ mes "Mm? I've got nothing to";
+ mes "offer you. But if you know";
+ mes "any well experienced";
+ mes "practitioners of Taekwon";
+ mes "Do, they might benefit";
+ mes "from what I know.";
+ close;
+ } else if(JobLevel < 40) {
+ mes "[Kid]";
+ mes "So you're studying";
+ mes "Taekwon Do. That's good,";
+ mes "that's very good. Just keep";
+ mes "refining those skills and";
+ mes "stick to your training.";
+ close;
+ }
+ if(SOUL_Q == 0) {
+ mes "[Kid]";
+ mes "...";
+ mes "Hey you.";
+ next;
+ mes "["+strcharinfo(0)+"]";
+ mes "Did you call me?";
+ next;
+ mes "[Kid]";
+ mes "Yeah, I called you.";
+ mes "Now don't make me";
+ mes "raise my voice, and";
+ mes "just get over here.";
+ next;
+ if(select("You're awfully rude for a kid!","Ignore him.") == 1) {
+ mes "[Kid]";
+ mes "You're lucky I'm";
+ mes "taking an interest";
+ mes "in you! I might look";
+ mes "like a kid, but I'm over";
+ mes "three hundred years old!";
+ next;
+ mes "[Kid]";
+ mes "Now listen...";
+ mes "I know that you're a";
+ mes "disciple of Taekwon Do.";
+ mes "It's a respectable art, but";
+ mes "I've got a proposition for";
+ mes "you if you want to hear it.";
+ next;
+ mes "[Kid]";
+ mes "I'm looking at you, and I can";
+ mes "already tell that you're very";
+ mes "spiritually inclined. You've";
+ mes "got a lot of potential I don't";
+ mes "wanna see wasted. Why don't";
+ mes "you become a ''Soul-Linker?''";
+ next;
+ if(select("Ha! Silly little boy~","Soul Linker?") == 1) {
+ mes "[Kid]";
+ mes "You... You d-don't";
+ mes "believe me? I'm being";
+ mes "dead serious. Can you";
+ mes "forget the fact that I look";
+ mes "like a little kid for just one";
+ mes "minute? *Psh* ...Youngsters.";
+ close;
+ }
+ mes "[Kid]";
+ mes "Soul Linkers communicate";
+ mes "with spirits of fallen warriors";
+ mes "that still wish to fight in the";
+ mes "world of the living. Now, these";
+ mes "warrior spirits can't fight as";
+ mes "themselves in our world.";
+ next;
+ mes "[Kid]";
+ mes "However, since you're";
+ mes "spiritually inclined, these";
+ mes "spirits are attracted to you.";
+ mes "With enough training, you can";
+ mes "temporarily imbue the power^FFFFFF ^000000 of these spirits to your allies.";
+ next;
+ mes "[Kid]";
+ mes "Now, you can't imbue yourself";
+ mes "with the spirits' power. Also,";
+ mes "depending on your skills as";
+ mes "a Soul Linker, you can only";
+ mes "endow other characters of certain job classes with enchanced power.";
+ next;
+ mes "[Kid]";
+ mes "You'll have to enter";
+ mes "a wholly different world";
+ mes "to become a Soul Linker,";
+ mes "but I know it'll be possible";
+ mes "for you. So what do you say?";
+ next;
+ if(select("No. At least, not now...","Alright. What do I have to do?") == 1) {
+ mes "[Kid]";
+ mes "Ah, alright. Well,";
+ mes "if you ever decide to";
+ mes "become a Soul Linker,";
+ mes "then please come back";
+ mes "and talk to me at any time.";
+ close;
+ }
+ set SOUL_Q,1;
+ mes "[Kid]";
+ mes "So you want to become";
+ mes "a Soul Linker? Great!";
+ mes "Alright, first I need you";
+ mes "to bring back a few items.";
+ mes "Don't worry, I'll explain";
+ mes "why you need them later.";
+ next;
+ mes "[Kid]";
+ mes "Now bring me";
+ mes "^0000FF1 3 Carat Diamond^000000,";
+ mes "^0000FF1 Immortal Heart^000000 and";
+ mes "^0000FF1 Witherless Rose^000000.";
+ mes "And try not to make me";
+ mes "wait too long, alright?";
+ close;
+ }
+ mes "[Kid]";
+ mes "Huh...?";
+ mes "Wait, where are";
+ mes "you going? I'm...";
+ mes "I'm talking to you!";
+ close;
+ } else if(SOUL_Q == 1) {
+ if(BaseJob == Job_Taekwon) {
+ mes "[Kid]";
+ mes "You're back, eh?";
+ mes "So did you bring";
+ mes "^0000FF1 3 Carat Diamond^000000,";
+ mes "^0000FF1 Immortal Heart^000000 and";
+ mes "^0000FF1 Witherless Rose^000000.";
+ mes "like I asked you to?";
+ next;
+ if(select("There you are.","No, not yet...") == 1) {
+ if(countitem(732) > 0 && countitem(929) > 0 && countitem(748) > 0) {
+ delitem 732,1; //3 carat Diamond
+ delitem 929,1; //Immortal Heart
+ delitem 748,1; //Witherless Rose
+ set SOUL_Q,2;
+ mes "[Kid]";
+ mes "Great, I see that you've";
+ mes "brought everything. But";
+ mes "before we begin, let me";
+ mes "introduce myself. My "+strcharinfo(0)+"";
+ mes "is Maia, and I've been alive for more than three hundred years.";
+ next;
+ mes "[Maia]";
+ mes "Without giving away too many";
+ mes "of the details, I've been divinely charged with the duty of finding";
+ mes "and recruiting more Soul Linkers. That's part of the reason why";
+ mes "I haven't, you know, passed on.";
+ next;
+ mes "[Maia]";
+ mes "Anyway, I still need to finish";
+ mes "preparations with the materials";
+ mes "that you just brought, so would";
+ mes "you come back in a little bit?";
+ mes "Then, we'll talk once again.";
+ close;
+ }
+ mes "[Kid]";
+ mes "Mm...?";
+ mes "Hey. You forgot";
+ mes "a few things. Now";
+ mes "go back and bring";
+ mes "everything that I ask";
+ mes "for this time, okay?";
+ next;
+ mes "[Kid]";
+ mes "I know I just told you";
+ mes "what we need, but I'm";
+ mes "going to remind you again:";
+ mes "^0000FF1 3 Carat Diamond^000000,";
+ mes "^0000FF1 Immortal Heart^000000 and";
+ mes "^0000FF1 Witherless Rose^000000.";
+ close;
+ }
+ mes "[Kid]";
+ mes "Mm. That's fine.";
+ mes "Although I have all";
+ mes "the time to spare in";
+ mes "the world, I don't like";
+ mes "to wait for very long.";
+ close;
+ }
+ set SOUL_Q,0;
+ mes "[Kid]";
+ mes "You've become a warrior";
+ mes "of the Sun, the Moon and";
+ mes "the Stars instead? I had no";
+ mes "idea you had that potential.";
+ mes "I suppose I can't blame you...";
+ close;
+ } else if(SOUL_Q == 2) {
+ if (SkillPoint != 0) {
+ mes "[Maia]";
+ mes "You still have some";
+ mes "unallocated Skill Points.";
+ mes "Use them all to learn some";
+ mes "Taekwon Do skills, and then";
+ mes "return when you're ready.";
+ close;
+ } else if($@SOUL_Q2 == 1) {
+ goto L_occupied;
+ }
+ goto L_free;
+ }
+ mes "[Maia]";
+ mes "Are you ready to";
+ mes "enter the depths";
+ mes "of your mind again?";
+ next;
+ if(select("No","Yes") == 1) {
+ mes "[Maia]";
+ mes "Well then, come";
+ mes "back to me when you";
+ mes "think you are ready.";
+ mes "Until then, I'll be";
+ mes "waiting right here.";
+ close;
+ }
+ if($@SOUL_Q2 == 1) {
+ goto L_occupied;
+ }
+ goto L_free;
-L_Noitem:
- mes "[Kid]";
- mes "Awww... you haven't found all the items yet.";
- next;
- mes "[Kid]";
- mes "Remember, it was:";
- mes "^0000FF- 1 3-Carat Diamond^000000";
- mes "^0000FF- 1 Witherless Rose^000000";
- mes "^0000FF- 1 Immortal Heart^000000";
- next;
- mes "[Kid]";
- mes "Please find these things quickly...";
+L_occupied:
+ mes "[Maia]";
+ mes "Right now, someone else";
+ mes "is completing the ceremony";
+ mes "to become a Soul Linker.";
+ mes "Would you please wait until";
+ mes "it's finished? Then, when I'm";
+ mes "available, I'll attend to you.";
close;
-
-L_Warp:
- if(SkillPoint) goto L_Skill;
- mes "[Kid]";
- mes "Okay, here we go.";
+L_free:
+ set $@SOUL_Q,1;
+ donpcevent "Timer#link3::OnStart";
+ mes "[Maia]";
+ mes "Great, I've finished";
+ mes "the preparations. Now";
+ mes "we'll proceed with the";
+ mes "ceremony to change";
+ mes "you into a Soul Linker.";
+ mes "Now close your eyes...";
close2;
warp "job_soul",30,30;
end;
-
-L_Skill:
- mes "[Kid]";
- mes "It seems you have some skill";
- mes "points left. I can't warp you";
- mes "to my friends until you use them.";
- close;
}
-job_soul,30,35,2 script Lost Soul#1 827,{
- if(SOUL_Q==2) goto L_Talk1;
- mes "[Lost Soul]";
- mes "I have said all I have needed to say. Thank you.";
- close;
-
-L_Talk1:
- mes "[Lost Soul]";
- mes "Welcome to the lost plane";
- mes "This is where souls of";
- mes "those who have passed on";
- mes "go if they have not yet";
- mes "let go of what they believe";
- mes "they were meant to do.";
- next;
- mes "[Lost Soul]";
- mes "I am here because I wanted";
- mes "to protect people with my";
- mes "strong arms.";
- next;
- mes "[Lost Soul]";
- mes "Yet they were not strong";
- mes "enough to protect myself";
- mes "and those I truly loved...";
- next;
- mes "[Lost Soul]";
- mes "So now I float here in";
- mes "death, reflecting on the past";
- mes "and how it could have been";
- mes "different had I been stronger.";
- next;
- mes "[Lost Soul]";
- mes "But with time I have decided";
- mes "that dwelling on the past";
- mes "accomplishes nothing.";
- mes "Only actions can protect";
- mes "those around you.";
- next;
- mes "[Lost Soul]";
- mes "You!!";
- mes "You seem strong.";
- mes "I shall join you, and add";
- mes "My strength to yours so";
- mes "that you might protect others.";
- set SOUL_Q,3;
- next;
- mes "[Lost Soul]";
- mes "Thank you for hearing me out.";
- close;
+job_soul,30,31,1 script Maia#link-1::Maia 139,3,3,{
+OnTouch:
+ if(BaseJob == Job_Taekwon) {
+ if(BaseLevel < 40) {
+ set $@SOUL_Q,0;
+ mes "[Maia]";
+ mes "Hm? How did you come";
+ mes "here? You're not qualified";
+ mes "for this ceremony yet. Come,I will bring you back to Morroc...";
+ close2;
+ warp "morocc",157,47;
+ end;
+ } else if(SOUL_Q == 2) {
+ mes "[Maia]";
+ mes "Do you recognize this";
+ mes "place? Right now, we're";
+ mes "inside your mind. The spirits";
+ mes "of warriors that have died";
+ mes "hover here, waiting for you";
+ mes "to call upon their power.";
+ next;
+ mes "[Maia]";
+ mes "Right now, there are only";
+ mes "a few of them here, but if";
+ mes "you continue to train, you";
+ mes "will be able to call upon";
+ mes "more spirits as a Soul Linker.";
+ next;
+ set SOUL_Q,3;
+ mes "[Maia]";
+ mes "We can only remain in";
+ mes "your mind for 3 minutes.";
+ mes "I suggest that you speak";
+ mes "to the spirits while you";
+ mes "have the opportunity.";
+ close;
+ } else if(SOUL_Q == 3) {
+ mes "[Maia]";
+ mes "Listen to what";
+ mes "spirits are tending to say.";
+ mes "There is a reason why";
+ mes "they cannot move on";
+ mes "to the next world.";
+ close;
+ } else if(SOUL_Q == 4) {
+ mes "[Maia]";
+ mes "I believe that you are";
+ mes "now ready to become";
+ mes "a Soul Linker. However,";
+ mes "you may continue to";
+ mes "speak with the spirits";
+ mes "if that is what you wish.";
+ next;
+ if(select("Converse more with the spirits","Become a Soul Linker") == 1) {
+ mes "[Maia]";
+ mes "Alright. Try to hurry";
+ mes "since we can remain in";
+ mes "your mind for a limited";
+ mes "time. Although, we can";
+ mes "go back inside your mind";
+ mes "if you talk to me later...";
+ close;
+ }
+ mes "[Maia]";
+ mes "Then let us begin the";
+ mes "ceremony. These items will";
+ mes "be used to endow you with";
+ mes "the ability to borrow the power";
+ mes "of the fallen warriors and lend";
+ mes "it to your friends in battle.";
+ next;
+ mes "[Maia]";
+ mes "This Witherless Rose will";
+ mes "wither away instead of you...";
+ misceffect 247; //Yuno Large Effect
+ next;
+ mes "[Maia]";
+ mes "This Witherless Rose will";
+ mes "wither away instead of you...";
+ mes "This Immortal Heart will cease";
+ mes "to pump blood, instead of yours. ";
+ next;
+ mes "[Maia]";
+ mes "This Witherless Rose will";
+ mes "wither away instead of you...";
+ mes "This Immortal Heart will cease";
+ mes "to pump blood, instead of yours. This Diamond will turn to dust,";
+ mes "in place of your mortal body.";
+ next;
+ mes "[Maia]";
+ mes "The dead who wish";
+ mes "to continue fighting...";
+ mes "Will fight for you! Use your";
+ mes "powers as a Soul Linker";
+ mes "wisely and for just purposes.";
+ next;
+ callfunc "Job_Change",Job_Soul_Linker;
+ callfunc "F_ClearJobVar"; // clears all job variables for the current player
+ mes "[Maia]";
+ mes "I wish the best of luck";
+ mes "in your new life. Surround";
+ mes "yourself with allies, and the";
+ mes "spirits will be able to protect";
+ mes "you and help you fight in your battles. Farewell for now, friend.";
+ close2;
+ set $@SOUL_Q,0;
+ donpcevent "Timer#link3::OnStop";
+ warp "morocc",157,47;
+ end;
+ }
+ set $@SOUL_Q,0;
+ mes "[Maia]";
+ mes "Hmm...?";
+ mes "The time for you";
+ mes "to be here has not";
+ mes "arrived. Let's go";
+ mes "back to Morroc...";
+ close2;
+ warp "morocc",157,47;
+ end;
+ }
+ set $@SOUL_Q,0;
+ if(BaseJob == Job_Soul_Linker) {
+ mes "[Maia]";
+ mes "The time has come for";
+ mes "you to venture out into the";
+ mes "wide world! More Soul Linkers";
+ mes "will definitely be needed in the ongoing battle against evil...";
+ } else {
+ mes "[Maia]";
+ mes "That's strange...";
+ mes "You're not supposed to";
+ mes "be here. Let me guide";
+ mes "you back to Morroc...";
+ }
+ close2;
+ warp "morocc",157,47;
+ end;
}
-job_soul,25,30,3 script Lost Soul#2 744,{
- if(SOUL_Q==3) goto L_Talk2;
- if(SOUL_Q < 3) goto L_Notyet2;
- mes "[Lost Soul]";
- mes "I have said all I have";
- mes "needed to say. Thank you.";
- close;
-
-L_Notyet2:
- mes "[Lost Soul]";
- mes "Please talk to the others first.";
- close;
-
-L_Talk2:
- mes "[Lost Soul]";
- mes "It seems that you already know where you are.";
- next;
- mes "[Lost Soul]";
- mes "I am here because I wanted";
- mes "to cure the sick an injured";
- mes "with my herbs and potions.";
- next;
- mes "[Lost Soul]";
- mes "But I was inexperienced";
- mes "and accidentally mixed";
- mes "ingrediants I should not have...";
- next;
- mes "[Lost Soul]";
- mes "Those I was trying to save,";
- mes "myself, and families in the";
- mes "close vicinity all in flames";
- mes "because of my incompetance.";
- next;
- mes "[Lost Soul]";
- mes "I've spent years here furious";
- mes "at myself for making that one";
- mes "simple mistake.";
- next;
- mes "[Lost Soul]";
- mes "Sure, lots of people make";
- mes "mistakes, but seldom on that scale.";
- mes "And so I shall join you, so as to";
- mes "be a guiding voice, reminding you";
- mes "that you should always prethink";
- mes "your own actions.";
- set SOUL_Q,4;
- next;
- mes "[Lost Soul]";
- mes "Thank you for hearing me out.";
- close;
+job_soul,30,35,2 script Monk Spirit#link4 827,{
+ if(SOUL_Q == 2) {
+ mes "[Monk Spirit]";
+ mes "Who am I...?";
+ mes "I think... I think";
+ mes "it would be best if";
+ mes "you spoke to Maya first...";
+ mes "Who and what I am requires";
+ mes "a complicated explanation...";
+ close;
+ } else if(SOUL_Q > 2) {
+ mes "[Monk Spirit]";
+ mes "In life, my peers did";
+ mes "their best to assure me";
+ mes "that I accomplish all that";
+ mes "I could as a Monk. Still...";
+ mes "Still I would never be fully";
+ mes "satisfied with my skills.";
+ next;
+ mes "[Monk Spirit]";
+ mes "In death, I had many regrets,";
+ mes "never having the chance to pass";
+ mes "my skills down to future Monks.";
+ mes "Lending my power to others ";
+ mes "is the only chance that I can";
+ mes "possibly have to do this.";
+ next;
+ set SOUL_Q,4;
+ mes "[Monk Spirit]";
+ mes "I beg of you...";
+ mes "I need you to help";
+ mes "me fully realize the";
+ mes "true potential of the";
+ mes "Monks of today.";
+ close;
+ }
+ mes "[Monk Spirit]";
+ mes "...";
+ close;
}
-job_soul,30,25,0 script Lost Soul#3 754,{
- if(SOUL_Q==4) goto L_Talk3;
- if(SOUL_Q < 4) goto L_Notyet3;
- mes "[Lost Soul]";
- mes "I have said all I have needed to say. Thank you.";
- close;
-
-L_Notyet3:
- mes "[Lost Soul]";
- mes "Please talk to the others first.";
- close;
-
-L_Talk3:
- mes "[Lost Soul]";
- mes "I guess it's time for my story...";
- next;
- mes "[Lost Soul]";
- mes "Study. Study. Study.";
- mes "All I ever did was study.";
- next;
- mes "[Lost Soul]";
- mes "Oh! The things I learnt.";
- mes "My vocabulary was larger than";
- mes "others, I new the names of all";
- mes "the local plants, I even helped";
- mes "in the writing of the code for";
- mes "the AI Guardian, Apocolypse.";
- next;
- mes "[Lost Soul]";
- mes "But in all my time studying";
- mes "I never made any time for";
- mes "friends, and never spent any";
- mes "time with my family.";
- next;
- mes "[Lost Soul]";
- mes "It wasn't until one day when I got sick from lack of sleep and";
- mes "no one came to my aid, that I realised just how lonely I was.";
- next;
- mes "[Lost Soul]";
- mes "So I wish to join with you.";
- mes "I shall be that gentle reminder";
- mes "that no matter how important";
- mes "something is to you, you must";
- mes "always make time for friends and family.";
- set SOUL_Q,5;
- next;
- mes "[Lost Soul]";
- mes "Thank you for hearing me out.";
- close;
+job_soul,30,35,1 script Sage Spirit#link5 754,{
+ if(SOUL_Q == 2) {
+ mes "[Sage Spirit]";
+ mes "Speak to Maia.";
+ mes "I'm afraid I may";
+ mes "confuse you if Maia";
+ mes "doesn't first explain";
+ mes "your present situation...";
+ close;
+ } else if(SOUL_Q > 2) {
+ mes "[Sage Spirit]";
+ mes "My pursuit of knowledge";
+ mes "granted me incredible power:";
+ mes "in life, I could have destroyed";
+ mes "anything I wanted. Few Sages";
+ mes "could even reach my level...";
+ next;
+ mes "[Sage Spirit]";
+ mes "I died, but I was never able";
+ mes "to pass on to the next world.";
+ mes "I still want to use my abilities.I want to use my knowledge";
+ mes "to build what pleases me,";
+ mes "and to destroy as I please.";
+ next;
+ mes "[Sage Spirit]";
+ mes "It is enough if I can";
+ mes "lend my power to a Sage";
+ mes "that is worthy of receiving";
+ mes "it. But to do that, I shall";
+ mes "require your help. I beg you,";
+ mes "let me become your spirit ally.";
+ set SOUL_Q,4;
+ next;
+ mes "[Sage Spirit]";
+ mes "I believe that you";
+ mes "are the only one who";
+ mes "has a chance of bringing";
+ mes "rest to my troubled soul...";
+ close;
+ }
+ mes "[Sage Spirit]";
+ mes "...";
+ close;
}
-job_soul,35,30,3 script Kid#4 716,{
- if(SOUL_Q < 5) goto L_Notyet4;
- mes "[Kid]";
- mes "So you have listened to the tales of my friends?";
- next;
- mes "[Kid]";
- mes "They aren't bad people they've just been depressed for so very long.";
- next;
- mes "[Kid]";
- mes "But they seem to have renewed vigour since they talked to you.";
- mes "I haven't seen them this lively ever.";
- next;
- mes "[Kid]";
- mes "You seem to have a gift with people, so with your permisson,";
- mes "I would like to make you a Soul Linker.";
- next;
- menu "Yes",-,"No",L_Warpout;
+job_soul,25,30,3 script Alchemist Spirit#link7 744,{
+ if(SOUL_Q == 2) {
+ mes "[Alchemist Spirit]";
+ mes "Oh! I really want to";
+ mes "speak to you, but what";
+ mes "I have to say won't make";
+ mes "much sense unless you";
+ mes "talk to Maia first. But yes,";
+ mes "I really need your help.";
+ close;
+ } else if(SOUL_Q > 2) {
+ mes "[Alchemist Spirit]";
+ mes "Without exagerrating, I was";
+ mes "the fastest Alchemist in my";
+ mes "time. In fact, I may even be";
+ mes "the fastest Alchemist ever.";
+ mes "But then I grew arrogant, and";
+ mes "killed myself in an accident.";
+ next;
+ mes "[Alchemist Spirit]";
+ mes "But death would not stifle";
+ mes "my skill. In fact, I've even";
+ mes "improved my skill since I've";
+ mes "passed away. I cannot go";
+ mes "on to the next world until I've";
+ mes "passed on my techniques...";
+ set SOUL_Q, 4;
+ next;
+ mes "[Alchemist Spirit]";
+ mes "I'm powerless as a spirit,";
+ mes "but with your help, I can";
+ mes "influence the Alchemists of";
+ mes "today and help them refine";
+ mes "their skills. I beseech you,";
+ mes "please give me this chance...";
+ close;
+ }
+ mes "[Alchemist Spirit]";
+ mes "...";
+ close;
+}
- mes "[Kid]";
- mes "Very Well then.";
- mes "You are now a Soul Linker.";
- jobchange Job_Soul_Linker;
- callfunc "F_ClearJobVar";
- misceffect 247;
- next;
- mes "[Kid]";
- mes "Please try to help others.";
- close2;
- warp "morocc_in",175,31;
+job_soul,1,5,1 script Timer#link3 139,{
+OnStart:
+ InitNpcTimer;
end;
-
-L_Warpout:
- mes "[Kid]";
- mes "If you change your mind come and talk to me.";
- close2;
- warp "morocc_in",175,31;
+OnStop:
+ stopnpctimer;
+ set $@SOUL_Q, 0;
+ end;
+OnTimer60000:
+ if(getmapusers("job_soul") < 1) {
+ stopnpctimer;
+ set $@SOUL_Q, 0;
+ }
+ end;
+OnTimer120000:
+ if(getmapusers("job_soul") < 1) {
+ stopnpctimer;
+ set $@SOUL_Q, 0;
+ }
end;
+OnTimer183000:
+ areawarp "job_soul",10,10,120,120,"morocc",157,47;
+ set $@SOUL_Q, 0;
+ stopnpctimer;
+ end;
+}
-L_Notyet4:
- mes "[Kid]";
- mes "Please talk to the others first.";
- close;
+sec_in02,35,153,8 script Soul Linker Var 871,{
+ mes "[Soul Linker Var]";
+ mes "I can reset the Soul Linker";
+ mes "NPCs if a Soul Linker candidate";
+ mes "encounters a problem during the";
+ mes "end of the job quest. Please do";
+ mes "not use this function if players are still in the Quest Map.";
+ next;
+ input .@input;
+ if(.@input == 1854) {
+ mes "[Soul Linker Var]";
+ mes "Would you like to";
+ mes "reset the Soul Linker";
+ mes "Global Variable?";
+ next;
+ if(select("Reset","Cancel") == 1) {
+ mes "[Soul Linker Var]";
+ mes "The Soul Linker";
+ mes "Job Quest NPCs";
+ mes "have been reset.";
+ set $@SOUL_Q, 0;
+ close;
+ }
+ mes "[Soul Linker Var]";
+ mes "You have canceled";
+ mes "this command.";
+ close;
+ }
+ mes "[Soul Linker Var]";
+ mes "Password";
+ mes "is incorrect.";
+ close;
}
+
+//Duplicates
+job_soul,35,30,8 duplicate(Maia) Maia#link-2 716
+
+//===== Old Changelog: =================================
+//= A temp Soul Linker Job Changer based on the kRO quest.
+//= Quest info from RagnaInfo. Sprites from kRO screenshots
+//= 1.0 Optimized and updated [Lupus]
+//= 1.1 Fixed NPC names according to iRO [Lupus]
+//============================================================ \ No newline at end of file