Pārlūkot izejas kodu

new job quests for Taekwon, Soul Linker, Star Gladiolus ^_-

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6189 54d463be-8e91-2dee-dedb-b68131a5f0ec
Lupus 19 gadi atpakaļ
vecāks
revīzija
6e6d18c076

+ 4 - 0
npc/Changelog.txt

@@ -27,6 +27,10 @@ Nexon
 
 Date		Added
 ======
+04/20
+	* Updated Job Quests of Taekwon, SG, SL (all thanks to Celestria) [Lupus]
+		They have oficial sprites, actions. But some dialogs are made up. ^_-
+	- Don't forget to update your Global_Functions.txt !
 04/19
 	* Whoops, eAAC members made a mistake with scripts and I didn't notice => Quest Warper.txt [erKURITA]
 	* Added quest_warper.txt and banker.txt to npc\customs\eAAC_Scripts. [erKURITA]

+ 86 - 44
npc/jobs/1-1e/taekwon.txt

@@ -1,71 +1,113 @@
 //===== eAthena Script ======================================= 
 //= Taekwon Job Quest
 //===== By: ================================================== 
-//= Lupus
+//= Celestria
 //===== Current Version: ===================================== 
-//= 0.3
+//= 1.0
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
 //= 
 //===== Additional Comments: ================================= 
-//= 0.1 Now it's just a questless temp NPC 
-//= We use CLASS instead of BASEJOB to protect from Advanced/Baby Classes
-//= 0.3 Updated The Job Qusts due to SG / SL Job Quests [Lupus]
+//= A temp Taekwon Job Changer based on the kRO quest.
+//= Quest info from RagnaInfo. Sprites from kRO screenshots
+//= 1.0 Optimized, updated [Lupus]
 //============================================================ 
 
 
-payon.gat,146,87,7	script	Taekwon	764,{
-	mes "[Taekwon]";
-	if(Class==Job_Novice) goto L_Check;
-	if(Class==Job_Soul_Linker || Class==Job_Star_Gladiator){
-		mes "That's all for now. You know your way. Be brave!";
-		mes "I'm staying here and looking forward to the new hope of the Rune-Midgart Kingdom.";
+payon.gat,157,141,5	script	Monk#tktest	753,{
+	if(Class==Job_Novice && TAEK_Q) goto L_Continue;
+	if(Class==Job_Taekwon || Class==Job_Star_Gladiator) {
+		mes "[Monk]";
+		mes "So, how goes the kicking?";
 		close;
 	}
-	if(Class==Job_Taekwon){
-		mes "Hello, my brother Taekwon!";
-		if(JobLevel<40) {
-			mes "On achieving Job Level 40 visit me again...";
-			emotion e_go;
-			close;
-		}
-		mes "You've became much stronger... Now tell me your way?";
+	mes "[Monk]";
+	mes "All my life I've been punching and punching things.";
+	mes "As such I've developed quite a lot of muscles in my arms.";
+	next;
+	mes "[Monk]";
+	mes "However in my travels I have also walked a lot, and have";
+	mes "developed strong muscles in my legs.";
+	next;
+	if(Class==Job_Novice && JobLevel==10) {
+		mes "[Monk]";
+		mes "Hmmm... You seem to be the kind to walk around a lot.";
+		mes "Perhaps you would be interested in helping me with an experiment?";
+		next;
+		menu "What sort of experiment?",-,"Umm... no.",L_No;
+
+		mes "[Monk]";
+		mes "Well you see, I've thought that since one is always";
+		mes "strengthening their legs by walking, if one were to";
+		mes "fight by kicking they would be even stronger than punching.";
+		next;
+		mes "[Monk]";
+		mes "I've already practiced a little myself, but I need";
+		mes "someone young to teach, who can further improve these skills.";
 		next;
-		menu "I choose the way of Stars...",-,"I prefer the way of Soul...",M_SOUL,"I've none.",M_NOTHING;
+		mes "[Monk]";
+		mes "I was hoping that maybe you could help me test this theory.";
+		next;
+		menu "Sure, I'd love to.",-,"Sorry, but no.",L_No;
 
-		warp "job_star.gat",166,21;	//SG
-		end;
-	M_SOUL:
-		warp "job_star.gat",99,22;	//SL
-		end;
-		
+		set TAEK_Q,BaseLevel;
+		mes "[Monk]";
+		mes "Great!";
+		mes "Now, before I teach what moves I've learnt, I need to ask you";
+		mes "to prove that you actually do walk around a lot.";
+		next;
+		mes "[Monk]";
+		mes "So go get ^0000FFone more base level^000000 and then I will teach you what I know.";
+		close;
 	}
-	mes "Good day. I'm a Taekwon Guild Master.";
-	emotion e_what;
+	mes "[Monk]";
+	mes "Hmmm... I wonder...";
 	close;
 
-L_Check:
-	mes "Hi, brave Novice!";
-	mes "Waht do you want?";
-	next;
-	menu "I want to be a Taekwon",-,"Nothing.",M_NOTHING;
+L_No:
+	mes "[Monk]";
+	mes "I see...";
+	mes "Well, If you change your mind, I'll still be here.";
+	close;
 
-	mes "[Taekwon]";
-	if(JobLevel<10 || SkillPoint) {
-		mes "You have to learn all the basic skills and reach 10 Job Level.";
-		emotion e_sry;
+L_Continue:
+	if(TAEK_Q<=BaseLevel) goto L_Nolvl;
+	if(SkillPoint){
+		mes "[Monk]";
+		mes "You definately seem to have walked enough, but you still have skill points left over.";
+		next;
+		mes "[Monk]";
+		mes "Use them all up, then you can come talk to me again.";
 		close;
 	}
-
+	mes "[Monk]";
+	mes "I see that you have walked far.";
+	next;
+	mes "[Monk]";
+	mes "Very well, I shall teach you all that I know.";
+	next;
+	mes "You and the monk spend several hours practicing various kicks.";
+	mes "It soon becomes apparant why he needed you to help him.";
+	next;
+	mes "Wow. You're really good.";
+	mes "I hope you continue to go on fighting with your feet,";
+	mes "I'd really like to see how well that works for you.";
+	if(BaseLevel>TAEK_Q+1) { //u get bonus if leveled up more than a level
+		//in jRO you get a Guard[0]... have to prove it later
+		getitem 2101,1;	//Guard[0]
+	}
 	jobchange Job_Taekwon;
 	callfunc "F_ClearJobVar";
-	mes "Congratulations!";
+	next;
+	mes "Well, you should go practice some more now.";
+	mes "Take care.";
 	close;
 
-M_NOTHING:
-	mes "[Taekwon]";
-	mes "Then... see you soon.";
-	close;	
-
+L_Nolvl:
+	mes "[Monk]";
+	mes "Hmm...";
+	mes "I don't think you have walked far enough yet.";
+	mes "Go train some more.";
+	close;
 }

+ 266 - 33
npc/jobs/2-1e/StarGladiator.txt

@@ -1,56 +1,289 @@
 //===== eAthena Script ======================================= 
 //= Star Gladiator Job Quest
 //===== By: ================================================== 
-//= Lupus
+//= Celestria
 //===== Current Version: ===================================== 
-//= 0.1a
+//= 1.0
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
 //= 
 //===== Additional Comments: ================================= 
-//= 0.1 Now it's just a temp job quest NPC [Lupus]
-//= 0.1a Small fix in warp [Komurka]
+//= A temp Star Gladiator Job Changer based on the kRO quest.
+//= Quest info from RagnaInfo.
+//= Sprites from kRO screenshots, bar two which I just had to guess at.
+//= 1.0 Optimized, updated [Lupus]
 //============================================================ 
 
 
-job_star.gat,166,15,0	warp	startopay	1,1,payon.gat,151,85
+payon.gat,215,102,2	script	MooHyun	828,{
+	mes "[MooHyun]";
+	if(Class==Job_Taekwon && JobLevel>=40 && STGL_Q==0) goto L_Taekwon;
+	if(STGL_Q) goto L_Quest;
+	mes "Aaaah, it's such lovely weather today, don't you think?";
+	close;
+
+L_Taekwon:
+	mes "Oooh, a Taekwon!";
+	mes "I don't see many of those around.";
+	mes "I don't suppose you're interested in becoming even stronger?";
+	menu "Oh..?",-,"No, not really.",L_No;
+
+	mes "[MooHyun]";
+	mes "Well, there are these dedicated";
+	mes "fighters who are known as Star Gladiators.";
+	mes "I just so happen to know someone who";
+	mes "can warp to their meditation spot.";
+	next;
+	menu "Oooo.. I wanna be a SK.",-,"So?",L_No;
+	mes "[MooHyun]";
+	mes "What a coincidence!";
+	mes "However he does need some rare";
+	mes "materials to form the warp.";
+	set STGL_Q,1;
+	next;
+	mes "[MooHyun]";
+L_Quest:
+	mes "You will need to take him:";
+	mes "^0000FF- 1 Flame Heart^000000";
+	mes "^0000FF- 1 Mystic Frozen^000000";
+	mes "^0000FF- 1 Rough Wind^000000";
+	mes "^0000FF- 1 Great Nature^000000";
+	next;
+	mes "[MooHyun]";
+	mes "You can find him in Comodo.";
+	mes "He normally like to hang out at";
+	mes "the top of the mountain there.";
+	//mes "Write this down, because I won't tell you again.";
+	close;
+L_No:
+	mes "[MooHyun]";
+	mes "I see. Well, if that's how you feel...";
+	close;
+}
+
+comodo.gat,172,231,2	script	Man#SKTest	730,{
+	if(STGL_Q==1) goto L_Talk;
+	if(STGL_Q>=2) goto L_Needwarp;
+	mes "[Man]";
+	mes "...";
+	close;
 
-job_star.gat,166,37,2	script	Star Gladiator	764,{
-	mes "[Star Gladiator]";
-	if(Class==Job_Taekwon) goto L_Check;
-	if(Class==Job_Star_Gladiator){
-		mes "You've chosen the hardest way... But it's your faith...";
-		close;
-	}
-	mes "Are you a Taekwon? No?! Get lost.";
-	emotion e_what;
+L_Talk:
+	mes "[Man]";
+	mes "...";
+	next;
+	mes "[Warper Man]";
+	mes "Oh, a Taekwon. I guess MooHyun sent you here then.";
+	mes "Did you want me to warp you?";
+	next;
+	menu "Yes",L_Warp,"No",-;
+	mes "[Warper Man]";
+	mes "Hmph, wasting my time...";
+	mes "Come back when you actually";
+	mes "DO want me to warp you.";
 	close;
 
-L_Check:
-	mes "Hello!";
-	mes "Are you strong enough to protect your sisters and brothers? Do you want to be a Star Gladiator?";
+L_Warp:
+	if(countitem(994) < 1 || countitem(995) < 1 || countitem(996) < 1 || countitem(997) < 1) goto L_Noitem;
+	delitem 994,1;
+	delitem 995,1;
+	delitem 996,1;
+	delitem 997,1;
+	set STGL_Q,2;
+	mes "[Warper Man]";
+	mes "Great! With these items I can create a warp at any time.";
+	mes "so if you need to warp again just ask me, okay?";;
 	next;
-	menu "I want to be a Star Gladiator",-,"Not yet.",M_NOTHING;
+	warp "job_star.gat",33,41;
+	close;
 
-	mes "[Star Gladiator]";
-	if(JobLevel<40 || SkillPoint) {
-		mes "I'm sorry, my friend. You need 40 Job Level and no skill points left.";
-		close;
-	}
-	if(Weight<MaxWeight) {
-		mes "You have strong feet... Bring me as much ores, gems and gold as you can... Much More Heavier Than Now!";
-		emotion e_sry;
-		close;
-	}
+L_Noitem:
+	mes "[Warper Man]";
+	mes "In order to warp you, I need rare magical items.";
+	next;
+	mes "[Warper Man]";
+	mes "Bring me:";
+	mes "^0000FF- 1 Flame Heart^000000";
+	mes "^0000FF- 1 Mystic Frozen^000000";
+	mes "^0000FF- 1 Rough Wind^000000";
+	mes "^0000FF- 1 Great Nature^000000";
+	close;
 
+L_Needwarp:
+	mes "[Warper Man]";
+	mes "Did you need me to warp you again?";
+	next;
+	menu "Yes",L_Again,"No",-;
+	close;
+
+L_Again:
+	warp "job_star.gat",33,41;
+	close;
+}
+
+job_star.gat,29,33,4	script	Gladiator of the Sun	823,{
+	if(STGL_Q==3) goto L_Warpnow1;
+	if(Class==Job_Taekwon && JobLevel>=40) goto L_Talk1;
+	mes "[Gladiator of the Sun]";
+	mes "How did you get in here!?";
+	mes "Get out at once!";
+	next;
+	warp "payon.gat",256,242;
+	close;
+
+L_Talk1:
+	mes "[Gladiator of the Sun]";
+	mes "Ah. A Taekwon.";
+	mes "It is always good to see a follower of a disciplined art.";
+	next;
+	mes "[Gladiator of the Sun]";
+	mes "I assume you came here to become a Star Gladiator.";
+	mes "So allow me to explain...";
+	next;
+	mes "[Gladiator of the Sun]";
+	mes "The Sun, the Moon, and the Stars.";
+	mes "All have their own subtle";
+	mes "energies. We Star Gladiators use";
+	mes "these energies in addition";
+	mes "to our own strength to aid us";
+	mes "in combat.";
+	next;
+	mes "[Gladiator of the Sun]";
+	mes "In here I teach Taekwons how to";
+	mes "tap into the energy of the sun.";
+	mes "I shall teach you this now.";
+	next;
+	mes "^0000FFYou spend several hours meditating^000000";
+	mes "^0000FFtogehther under the sun.^000000";
+	mes "^0000FFYou do start to feel warm, although^000000";
+	mes "^0000FFthat's probably because you aren't^000000";
+	mes "^0000FFwearing any suncream.^000000";
+	next;
+	mes "[Gladiator of the Sun]";
+	mes "You have learnt all I can teach you.";
+	mes "I shall now send you to your";
+	mes "next instructor.";
+	next;
+
+L_Warpnow1:
+	warp "job_star.gat",99,41;
+	close;
+}
+
+job_star.gat,95,34,4	script	Gladiator of the Moon	758,{
+	if(STGL_Q==3) goto L_Warpnow2;
+	if(Class==Job_Taekwon && JobLevel>=40) goto L_Talk2;
+	mes "[Gladiator of the Moon]";
+	mes "How did you get in here!?";
+	mes "Get out at once!";
+	next;
+	warp "payon.gat",256,242;
+	close;
+
+L_Talk2:
+	mes "[Gladiator of the Moon]";
+	mes "Ah. A Taekwon.";
+	mes "It is good that you have";
+	mes "managed to come this far.";
+	next;
+	mes "[Gladiator of the Moon]";
+	mes "My job here is to help";
+	mes "Taekwons become more in";
+	mes "touch with the energies of the Moon.";
+	next;
+	mes "[Gladiator of the Moon]";
+	mes "The Moon has calming energies.";
+	mes "So you must be careful not";
+	mes "to fall asleep while meditating";
+	next;
+	mes "[Gladiator of the Moon]";
+	mes "Now, sit down.";
+	mes "Stare into the Moon and feel.";
+	mes "it's light flow through you.";
+	next;
+	mes "^0000FFAfter a few minutes of meditation^000000";
+	mes "^0000FFyour eyes start to grow heavy.^000000";
+	mes "^0000FFcomposing yourself you force^000000";
+	mes "^0000FFyourself awake, and feel a^000000";
+	mes "^0000FFrenewed vigour.^000000";
+	next;
+	mes "[Gladiator of the Moon]";
+	mes "You have learnt all I can teach you.";
+	mes "I shall now send you to the";
+	mes "final instructor.";
+	next;
+
+L_Warpnow2:
+	warp "job_star.gat",165,39;
+	close;
+}
+
+job_star.gat,161,34,4	script	Gladiator of the Stars	77,{
+	if(Class==Job_Taekwon && JobLevel>=40) goto L_Talk3;
+	if(STGL_Q==3) goto L_Itemcheck;
+	mes "[Gladiator of the Stars]";
+	mes "How did you get in here!?";
+	mes "Get out at once!";
+	next;
+	warp "payon.gat",256,242;
+	close;
+
+L_Talk3:
+	mes "[Gladiator of the Stars]";
+	mes "Greetings Taekwon.";
+	mes "I am here to teach you about";
+	mes "the multiple energies that";
+	mes "come from the stars.";
+	//goto L_Itemcheck;
+
+L_Itemcheck:
+	if(countitem(1000) < 1 || countitem(1001) < 1) goto L_Noitem3;
+	if(SkillPoint) goto L_Skill;
+	delitem 1000,1;
+	delitem 1001,1;
+	mes "[Gladiator of the Stars]";
+	mes "Since you have the required items,";
+	mes "we shall now begin.";
+	next;
+	mes "^0000FFAs you meditate you feel a^000000";
+	mes "^0000FFpower growing within you.^000000";
+	mes "^0000FFThis power does not feel like^000000";
+	mes "^0000FFyour own, but like something^000000";
+	mes "^0000FFout there is giving you a hand.^000000";
+	next;
 	jobchange Job_Star_Gladiator;
 	callfunc "F_ClearJobVar";
-	mes "You did it! You are worth!";
+	mes "[Gladiator of the Stars]";
+	mes "It seems that you are indeed";
+	mes "in touch with the sun, moon, and stars.";
+	next;
+	mes "[Gladiator of the Stars]";
+	mes "I wish you luck on your journey.";
+	next;
+	warp "payon.gat",256,242;
+	close;
+
+L_Skill:
+	mes "[Gladiator of the Stars]";
+	mes "It would seem you still have";
+	mes "some unused skill points.";
+	mes "Use these all up, then come";
+	mes "talk to me again.";
 	close;
 
-M_NOTHING:
-	mes "[Star Gladiator]";
-	mes "I'll wait here forever. We need more protectors for our people.";
-	close;	
+L_Noitem3:
+	mes "[Gladiator of the Stars]";
+	mes "In order to become one with";
+	mes "the stars, you will need to bring me:";
+	mes "^0000FF- 1 Star Crumb^000000";
+	mes "^0000FF- 1 Star Dust^000000";
+	next;
+	mes "[Gladiator of the Stars]";
+	mes "I will now send you back to";
+	mes "look for these items.";
+	next;
+	set STGL_Q,3;
+	warp "payon.gat",256,242;
+	close;
 }

+ 291 - 34
npc/jobs/2-2e/SoulLinker.txt

@@ -1,56 +1,313 @@
 //===== eAthena Script ======================================= 
 //= Soul Linker Job Quest
 //===== By: ================================================== 
-//= Lupus
+//= Celestria
 //===== Current Version: ===================================== 
-//= 0.1a
+//= 1.0
 //===== Compatible With: ===================================== 
 //= eAthena 1.0 +
 //===== Description: ========================================= 
 //= 
 //===== Additional Comments: ================================= 
-//= 0.1	Now it's just a temp job quest NPC [Lupus]
-//= 0.1a Small fix in warp [Komurka]
+//= 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]
 //============================================================ 
 
+morocc_in.gat,174,30,7	script	Little Boy#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 "[Little Boy]";
+	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;
 
-job_star.gat,99,13,0	warp	soultopay	1,1,payon.gat,151,85
+L_Thanks:
+	mes "[Little Boy]";
+	mes "Hey, Thank you for helping";
+	mes "me earlier ^_^";
+	close;
 
-job_star.gat,99,33,2	script	Soul Linker	764,{
-	mes "[Soul Linker]";
-	if(Class==Job_Taekwon) goto L_Check;
-	if(Class==Job_Soul_Linker){
-		mes "Go forth and help people...";
-		close;
-	}
-	mes "I speak to Taekwons only...";
-	emotion e_what;
+L_Taekwon:
+	mes "[Little Boy]";
+	mes "Excuse me. *sniff*";
+	mes "I don't suppose you couldvhelp me?";
+	menu "Go on...",L_Goon,"No, I'm busy.",L_No;
+
+L_No:
+	mes "[Little Boy]";
+	mes "Waaaaaaaaaaaaaah~";
+	close;
+
+L_Goon:
+	mes "[Little Boy]";
+	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 "[Little Boy]";
+	mes "Really!?";
+	mes "You'll do that for me?";
+	set SOUL_Q,1;
+	next;
+	mes "[Little Boy]";
+	mes "Ok, what I need is:";
+	mes "^0000FF- 1 Witherless Rose^000000";
+	mes "^0000FF- 1 3-Carat Diamond^000000";
+	mes "^0000FF- 1 Immortal Heart^000000";
+	next;
+	mes "[Little Boy]";
+	mes "Please find these things quickly...";
 	close;
 
 L_Check:
-	mes "Hello!";
-	mes "Are you ready to help your brothers and sisters? Do you want to be a Soul Linker?";
-	next;
-	menu "I want to be a Soul Linker",-,"Not yet.",M_NOTHING;
-
-	mes "[Soul Linker]";
-	if(JobLevel<40 || SkillPoint) {
-		mes "I'm sorry, my friend. You need 40 Job Level and no skill points left.";
-		close;
-	}
-	if(Weight) {
-		mes "Bring me the most valuable thing you have. The only thing!";
-		emotion e_sry;
-		close;
-	}
+	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 "[Little Boy]";
+	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 "[Little Boy]";
+	mes "Okay, come back when you change your mind.";
+	close;
+
+L_Noitem:
+	mes "[Little Boy]";
+	mes "Awww... you haven't found all the items yet.";
+	next;
+	mes "[Little Boy]";
+	mes "Remember, it was:";
+	mes "^0000FF- 1 Witherless Rose^000000";
+	mes "^0000FF- 1 3-Carat Diamond^000000";
+	mes "^0000FF- 1 Immortal Heart^000000";
+	next;
+	mes "[Little Boy]";
+	mes "Please find these things quickly...";
+	close;
+
+L_Warp:
+	if(SkillPoint) goto L_Skill;
+	mes "[Little Boy]";
+	mes "Okay, here we go";
+	warp "job_soul.gat",30,30;
+	close;
+
+L_Skill:
+	mes "[Little Boy]";
+	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.gat,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.gat,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.gat,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.gat,35,30,3	script	Little Boy#4	716,{
+	if(SOUL_Q < 5) goto L_Notyet4;
+	mes "[Little Boy]";
+	mes "So you have listened to the tales of my friends?";
+	next;
+	mes "[Little Boy]";
+	mes "They aren't bad people they've just been depressed for so very long.";
+	next;
+	mes "[Little Boy]";
+	mes "But they seem to have renewed vigour since they talked to you.";
+	mes "I haven't seen them this lively ever.";
+	next;
+	mes "[Little Boy]";
+	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;
+
+	mes "[Little Boy]";
+	mes "Very Well then.";
+	mes "You are now a Soul Linker.";
 	jobchange Job_Soul_Linker;
 	callfunc "F_ClearJobVar";
-	mes "Congratulations!";
+	misceffect 247;
+	next;
+	mes "[Little Boy]";
+	mes "Please try to help others.";
+	next;
+	warp "morocc_in.gat",175,31;
 	close;
 
-M_NOTHING:
-	mes "[Soul Linker]";
-	mes "I'll wait here. We need more Soul Linkers to protect our brothers and sisters.";
+L_Warpout:
+	mes "[Little Boy]";
+	mes "If you change your mind come and talk to me.";
+	next;
+	warp "morocc_in.gat",175,31;
+	close;
+
+L_Notyet4:
+	mes "[Little Boy]";
+	mes "Please talk to the others first.";
 	close;	
-}
+}

+ 6 - 1
npc/other/Global_Functions.txt

@@ -3,7 +3,7 @@
 //===== By: ================================================== 
 //= Lupus, kobra_k88
 //===== Current Version: ===================================== 
-//= 1.7
+//= 1.8
 //===== Compatible With: ===================================== 
 //= eAthena 1.0
 //===== Description: ========================================= 
@@ -18,6 +18,7 @@
 //= 1.6 Added F_RandMes, F_SexMes, F_Hi, F_Bye functions [Lupus]
 //= Moved here useful function 'getJobName'
 //= 1.7 Added "F_ItemName" function, added a great sample for "F_ItemName"
+//= 1.8 Added Job Vars clear for Extended classes: TK,SL,SG [Lupus]
 //============================================================ 
 
 
@@ -52,6 +53,10 @@ function	script	F_ClearJobVar	{
 	set SAGE_Q,0; set SAGE_Q2,0;
 	set DANC_Q,0;
 	set BARD_Q,0;
+	// Extended Classes
+	set TAEK_Q,0;
+	set STGL_Q,0;
+	set SOUL_Q,0;
 	return;
 }