瀏覽代碼

- Updated 1st class platinum skill NPC's.
- Fixed [bugreport:5606] .

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

masao87 13 年之前
父節點
當前提交
46a800ad3b

+ 29 - 33
npc/quests/skills/acolyte_skills.txt

@@ -3,25 +3,25 @@
 //===== By: ==================================================
 //= kobra_k88
 //===== Current Version: =====================================
-//= 1.5
+//= 1.7
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
-//= [Aegis Conversion]
 //= Quest for skills: Holy Light
 //===== Additional Comments: ================================= 
 //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
 //= 1.6 Fixed a typo in job check. (Bugreport:1531) [L0ne_W0lf]
+//= 1.7 Updated to latest available official file. [Masao]
 //============================================================
 
-prt_church,173,23,4	script	Cleric#qsk_al	79,{
+prt_church,173,23,4	script	Cleric	79,{
 	mes "[Acolyte Klift]";
 	mes "Ahh . Brothers ! Does the task of";
 	mes "caring for out lost sheep burden";
 	mes "and tire you ?";
 	mes "I am here to assist you.";
 	next;
-	switch(select("^3355FF' About acolyte's hidden ability '^000000 ..:^3355FF' Holy light '^000000 training:End conversation")) {
+	switch (select("^3355FF' About acolyte's hidden ability '^000000 ..:^3355FF' Holy light '^000000 training:End conversation")) {
 	case 1:
 		mes "[Acolyte Klift]";
 		mes "Our members of the clergy";
@@ -67,40 +67,36 @@ prt_church,173,23,4	script	Cleric#qsk_al	79,{
 			mes "this skill for the work of good . .";
 			close;
 		}
-		else {
-			if (countitem(727) > 0 && countitem(991) > 0 && countitem(2608) > 0) {
-				if ((JobLevel > 29 && BaseJob == Job_Acolyte) || BaseJob == Job_Monk || BaseJob == Job_Priest) {
-					mes "[Acolyte Klift]";
-					mes "Your faith has proven worthy";
-					mes "for you to gain the ' Holy Light ' skill.";
-					mes "Your skill is adequate";
-					mes "to use this skill.";
-					mes "Use it wisely. . .";
-					next;
-					delitem 727,1; //White_Jewel
-					delitem 991,1; //Crystal_Blue
-					delitem 2608,1; //Rosary
-					skill 156,1,0;
-					mes "[Acolyte Klift]";
-					mes "You now know ' Holy Light '";
-					mes "May you use this skill only in the";
-					mes "best conduct . . . . .";
-					close;
-				}
-			}
+		if ((countitem(727) > 0) && (countitem(991) > 0) && (countitem(2608) > 0) && (JobLevel > 29) && (BaseJob == Job_Acolyte)) {
 			mes "[Acolyte Klift]";
-			mes "Oh, it is clear. . .";
-			mes "You are not yet ready to";
-			mes "receive the ' Holy Light ' skill.";
+			mes "Your faith has proven worthy";
+			mes "for you to gain the ' Holy Light ' skill.";
+			mes "Your skill is adequate";
+			mes "to use this skill.";
+			mes "Use it wisely. . .";
 			next;
+			delitem 727,1; //White_Jewel
+			delitem 991,1; //Crystal_Blue
+			delitem 2608,1; //Rosary
+			skill "AL_HOLYLIGHT",1,0;
 			mes "[Acolyte Klift]";
-			mes "You should listen carefully to what";
-			mes "is necessary for this skill.";
-			mes "If you listen closely,";
-			mes "you may learn what you lack.";
-			mes "So that you may improve upon yourself.";
+			mes "You now know ' Holy Light '";
+			mes "May you use this skill only in the";
+			mes "best conduct . . . . .";
 			close;
 		}
+		mes "[Acolyte Klift]";
+		mes "Oh, it is clear. . .";
+		mes "You are not yet ready to";
+		mes "receive the ' Holy Light ' skill.";
+		next;
+		mes "[Acolyte Klift]";
+		mes "You should listen carefully to what";
+		mes "is necessary for this skill.";
+		mes "If you listen closely,";
+		mes "you may learn what you lack.";
+		mes "So that you may improve upon yourself.";
+		close;
 	case 3:
 		mes "[Acolyte Klift]";
 		mes ". . . . .";

+ 109 - 114
npc/quests/skills/archer_skills.txt

@@ -3,19 +3,20 @@
 //===== By: ==================================================
 //= rAthena dev team
 //===== Current Version: =====================================
-//= 1.5
+//= 1.6
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
-//= [Aegis Conversion]
 //= Quest for skills: Arrow Crafting, Arrow Repel
 //===== Additional Comments: ================================= 
 //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
+//= 1.6 Updated to latest available official file.
+//= also fixed Item issue [bugreport:5607]. [Masao]
 //============================================================
 
-moc_ruins,118,99,5	script	Roberto#qsk_ac	88,{
-	if (BaseClass == Job_Archer) {
-		if (getskilllv("AC_MAKINGARROW") == 1) {
+moc_ruins,118,99,5	script	Roberto	88,{
+	if (BaseJob == Job_Archer) {
+		if (ac_makingarrow_x == 1) {
 			mes "[Roberto]";
 			mes "Ooh, you're from my home town!";
 			mes "Nice to see you!";
@@ -32,13 +33,13 @@ moc_ruins,118,99,5	script	Roberto#qsk_ac	88,{
 			mes "Then byebye~";
 			close;
 		}
-		else if ((Basejob == Job_Archer && JobLevel >= 30) || BaseJob == Job_Hunter || BaseJob == Job_Dancer || BaseJob == Job_Bard) {
+		else if ((BaseJob == Job_Archer) && (JobLevel >= 30)) {
 			mes "[Roberto]";
 			mes "Eh!";
 			mes " ";
 			mes "You are...";
 			next;
-			if (countitem(907) > 19 && countitem(921) > 6 && countitem(7012) > 40 && countitem(1019) > 12 && countitem(501) > 0) {
+			if ((countitem(907) > 19) && (countitem(921) > 6) && (countitem(906) > 40) && (countitem(1019) > 12) && (countitem(501) > 0) && (BaseJob == Job_Archer) && (JobLevel >= 30)) {
 				mes "[Roberto]";
 				mes "You brought them!";
 				mes "Thank you very much.";
@@ -46,10 +47,11 @@ moc_ruins,118,99,5	script	Roberto#qsk_ac	88,{
 				next;
 				delitem 907,20; //Resin
 				delitem 921,7; //Mushroom_Spore
-				delitem 7012,41; //Tough_Scalelike_Stem
+				delitem 906,41; //Tough_Scalelike_Stem
 				delitem 1019,13; //Wooden_Block
 				delitem 501,1; //Red_Potion
-				skill 147,1,0;
+				skill "AC_MAKINGARROW",1,0;
+				set ac_makingarrow_x,1;
 				mes "[Roberto]";
 				mes "No need to worry about arrows now.";
 				mes "Oh, and did you happen to see";
@@ -63,93 +65,91 @@ moc_ruins,118,99,5	script	Roberto#qsk_ac	88,{
 				mes "Then bubye~ Thank you for the presents~";
 				close;
 			}
-			else {
+			mes "[Roberto]";
+			mes "An archer in Morroc!?";
+			mes "Nice to see you! Meeting a fellow";
+			mes "archer in a place like this! *sniffsniff*!";
+			mes "I came alone to Morroc..";
+			mes "but I was a newcomer, and the pressure... waaah~";
+			mes "I was very lonely~";
+			next;
+			switch (select("It must be hard. It's ok have faith.:Keep suffering.")) {
+			case 1:
 				mes "[Roberto]";
-				mes "An archer in Morroc!?";
-				mes "Nice to see you! Meeting a fellow";
-				mes "archer in a place like this! *sniffsniff*!";
-				mes "I came alone to Morroc..";
-				mes "but I was a newcomer, and the pressure... waaah~";
-				mes "I was very lonely~";
+				mes "Yes. Thank you...";
+				mes "You must be having a hard";
+				mes "time in a place like this.";
+				mes "Isn't it hard to find arrows?";
+				mes "That's why I make my own.";
+				next;
+				menu "Eh, really?!",-;
+				mes "[Roberto]";
+				mes "Yeah! I gather different items";
+				mes "and make arrows using them.";
+				mes "It is a useful skill to help me";
+				mes "survive alone in this tough world.";
+				mes "If you'd like, I can teach you.";
+				next;
+				menu "That would be wonderful.",-;
+				mes "[Roberto]";
+				mes "But.. I can't do it for free.";
+				mes "Nothing is free in this world~";
+				mes "Mmm... How about this?";
+				mes "You bring me what I ask for.";
+				mes "Then I will teach you the skill.";
 				next;
-				if (select("It must be hard. It's ok have faith.:Keep suffering.") == 1) {
-					mes "[Roberto]";
-					mes "Yes. Thank you...";
-					mes "You must be having a hard";
-					mes "time in a place like this.";
-					mes "Isn't it hard to find arrows?";
-					mes "That's why I make my own.";
-					next;
-					select("Eh, really?!");
-					mes "[Roberto]";
-					mes "Yeah! I gather different items";
-					mes "and make arrows using them.";
-					mes "It is a useful skill to help me";
-					mes "survive alone in this tough world.";
-					mes "If you'd like, I can teach you.";
-					next;
-					select("That would be wonderful.");
-					mes "[Roberto]";
-					mes "But.. I can't do it for free.";
-					mes "Nothing is free in this world~";
-					mes "Mmm... How about this?";
-					mes "You bring me what I ask for.";
-					mes "Then I will teach you the skill.";
-					next;
-					mes "[Roberto]";
-					mes "I've been very lonely since I left my hometown.";
-					mes "I would like to treat my homesick-ness";
-					mes "with things from there.";
-					mes "Bring me 20 Resins from the trees in the ";
-					mes "Payon forest, and 1 Red Potion";
-					mes "sold in the store.";
-					next;
-					mes "[Roberto]";
-					mes "Also, 13 Trunks from the Willows that";
-					mes "lives near the Payon Forest,";
-					mes "41 Tough Scalelike Stem,";
-					mes "7 Mushroom Spores.";
-					mes "If you bring me all of these.";
-					next;
-					mes "[Roberto]";
-					mes "I will teach you the skill.";
-					mes "Then.. I'll be waiting.";
-					mes "For news from our home.";
-					close;
-				}
 				mes "[Roberto]";
-				if (Sex)
+				mes "I've been very lonely since I left my hometown.";
+				mes "I would like to treat my homesick-ness";
+				mes "with things from there.";
+				mes "Bring me 20 Resins from the trees in the ";
+				mes "Payon forest, and 1 Red Potion";
+				mes "sold in the store.";
+				next;
+				mes "[Roberto]";
+				mes "Also, 13 Trunks from the Willows that";
+				mes "lives near the Payon Forest,";
+				mes "41 Pointed Scale,";
+				mes "7 Mushroom Spores.";
+				mes "If you bring me all of these.";
+				next;
+				mes "[Roberto]";
+				mes "I will teach you the skill.";
+				mes "Then.. I'll be waiting.";
+				mes "For news from our home.";
+				close;
+			case 2:
+				mes "[Roberto]";
+				if (Sex > 1) {
 					mes "...hey miss.";
-				else
+				}
+				else {
 					mes "...hey mister.";
+				}
 				mes "...be careful at night.";
 				close;
 			}
 		}
-		else {
-			mes "[Roberto]";
-			mes "Hmm... Do you?";
-			mes "Have something to say?";
-			mes "I,";
-			mes "have nothing.";
-			mes "Difference in levels";
-			mes "cuts off conversations.";
-			close;
-		}
-	}
-	else {
-		mes "[?]";
-		mes "Eh... First time seeing an archer or something?";
-		mes "Just go where you were going.";
-		mes "I only talk to high level archers.";
-		mes "Won't open my mouth otherwise!";
+		mes "[Roberto]";
+		mes "Hmm... Do you?";
+		mes "Have something to say?";
+		mes "I,";
+		mes "have nothing.";
+		mes "Difference in levels";
+		mes "cuts off conversations.";
 		close;
 	}
+	mes "[?]";
+	mes "Eh... First time seeing an archer or something?";
+	mes "Just go where you were going.";
+	mes "I only talk to high level archers.";
+	mes "Won't open my mouth otherwise!";
+	close;
 }
 
-payon,103,63,3	script	Jason#qsk_ac	88,3,3,{
-	if (BaseClass == Job_Archer) {
-		if (getskilllv("AC_CHARGEARROW") == 1) {
+payon,103,63,3	script	Jason	88,3,3,{
+	if (BaseJob == Job_Archer) {
+		if (ac_chargearrow_x == 1) {
 			mes "[Jason]";
 			mes "Eh, we meet again.";
 			mes "Ehhhh so weird.";
@@ -159,7 +159,7 @@ payon,103,63,3	script	Jason#qsk_ac	88,3,3,{
 			mes "Ehhhh... don't come any more ehh...";
 			close;
 		}
-		else if ((Basejob == Job_Archer && JobLevel >= 35) || BaseJob == Job_Hunter || BaseJob == Job_Dancer || BaseJob == Job_Bard) {
+		else if ((Class == Job_Archer) && (JobLevel >= 35)) {
 			mes "[Jason]";
 			mes "Darn... my wound isn't healing.";
 			mes "Bleh.. I was too careless... ";
@@ -174,7 +174,7 @@ payon,103,63,3	script	Jason#qsk_ac	88,3,3,{
 			mes "Someone like you would definitely be";
 			mes "able to know how to use Arrow Repel.";
 			next;
-			switch(select("What is that?:Teach me.")) {
+			switch (select("What is that?:Teach me.")) {
 			case 1:
 				mes "[Jason]";
 				mes "...you're kidding, right?";
@@ -219,7 +219,7 @@ payon,103,63,3	script	Jason#qsk_ac	88,3,3,{
 				mes "(I'm going to be mad if you don't bring the Banana Juice.)";
 				close;
 			case 2:
-				if (countitem(721) > 1 && countitem(942) > 2 && countitem(962) > 9 && countitem(925) > 9 && countitem(532) > 35) {
+				if ((countitem(721) > 1) && (countitem(942) > 2) && (countitem(962) > 9) && (countitem(925) > 9) && (countitem(532) > 35)) {
 					mes "[Jason]";
 					mes "Ok! Perfect!";
 					mes "I shall teach you the nationally";
@@ -230,7 +230,8 @@ payon,103,63,3	script	Jason#qsk_ac	88,3,3,{
 					delitem 962,10; //Tentacle
 					delitem 925,10; //Bill_Of_Birds
 					delitem 532,36; //Banana_Juice
-					skill 148,1,0;
+					skill "AC_CHARGEARROW",1,0;
+					set ac_chargearrow_x,1;
 					mes "[Jason]";
 					mes "Oh, works better than I expected!";
 					mes "Won't be needing to modify the bow!";
@@ -240,37 +241,31 @@ payon,103,63,3	script	Jason#qsk_ac	88,3,3,{
 					mes "He~heh~!";
 					close;
 				}
-				else {
-					mes "[Jason]";
-					mes "Mmm... too bad.";
-					mes "You are missing some things.";
-					mes "Once again, you need 2 Emeralds,";
-					mes "3 Yoyo Tails, 10 Tentacles,";
-					mes "10 Bill of Birds, and last but";
-					mes "not least 36 bottles of Banana juice!";
-					next;
-					mes "[Jason]";
-					mes "Make sure you have all of them and come again!";
-					close;
-				}
+				mes "[Jason]";
+				mes "Mmm... too bad.";
+				mes "You are missing some things.";
+				mes "Once again, you need 2 Emeralds,";
+				mes "3 Yoyo Tails, 10 Tentacles,";
+				mes "10 Bill of Birds, and last but";
+				mes "not least 36 bottles of Banana juice!";
+				next;
+				mes "[Jason]";
+				mes "Make sure you have all of them and come again!";
+				close;
 			}
 		}
-		else {
-			mes "[Jason]";
-			mes "Ooh... you are an archer.";
-			mes "If you try a little more";
-			mes "you will have a great";
-			mes "reputation as an archer!";
-			mes "Exert yourself!";
-			close;
-		}
-	}
-	else {
-		mes "[?]";
-		mes "What does life need from";
-		mes "a lonely lad like me?";
+		mes "[Jason]";
+		mes "Ooh... you are an archer.";
+		mes "If you try a little more";
+		mes "you will have a great";
+		mes "reputation as an archer!";
+		mes "Exert yourself!";
 		close;
 	}
+	mes "[?]";
+	mes "What does life need from";
+	mes "a lonely lad like me?";
+	close;
 
 OnTouch:
 	mes "[???]";

+ 53 - 57
npc/quests/skills/mage_skills.txt

@@ -3,25 +3,25 @@
 //===== By: ==================================================
 //= kobra_k88
 //===== Current Version: =====================================
-//= 1.6
+//= 1.7
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
-//= [Aegis Conversion]
 //= Quest for skills: Energy Coat
 //===== Additional Comments: ================================= 
 //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
 //= 1.6 Fixed a typo in job check. (Bugreport:1531) [L0ne_W0lf]
+//= 1.7 Updated to latest available official file. [Masao]
 //============================================================
 
-geffen_in,151,119,4	script	Great Wizard#qsk_mg	64,{
+geffen_in,151,119,4	script	Great Wizard	64,{
 	mes "[BLIZZARDRISS]";
 	mes "Hey ! My friend !";
 	mes "I see that you are a mage.";
 	mes "Look into yourself to discover";
 	mes "your hidden abilities !";
 	next;
-	switch(select("About mage's hidden ability:About skill ^3355FF' Energy Coat '^000000:End conversation")) {
+	switch (select(" About mage's hidden ability :About skill ^3355FF' Energy Coat '^000000 :End conversation")) {
 	case 1:
 		mes "[BLIZZARDRISS]";
 		mes "For many years";
@@ -92,64 +92,60 @@ geffen_in,151,119,4	script	Great Wizard#qsk_mg	64,{
 			mes "I have nothing more to teach you ...";
 			close;
 		}
-		else {
-			if (countitem(746) > 2 && countitem(730) > 0 && countitem(935) > 4 && countitem(943) > 0) {
-				if ((JobLevel > 34 && BaseJob == Job_Mage) || BaseJob == Job_Wizard || BaseJob == Job_Sage) {
-					mes "[BLIZZARDRISS]";
-					mes "Okay, I have received your request.";
-					mes "I will now awaken your hidden energies . .";
-					mes ". . . . . .";
-					mes ". . . . . . . . . . . . .";
-					mes ". . . . . . . . . . . . . . . . . . . . . . . . . .";
-					next;
-					mes "[BLIZZARDRISS]";
-					mes "Ancient powers of";
-					mes "Geffen! I seek the enlightenment";
-					mes "and honor of your presence. ";
-					mes "I am humbled in your presence!";
-					mes " ...";
-					next;
-					mes "[BLIZZARDRISS]";
-					mes "Grant me your power!";
-					mes "Release your spirit";
-					mes "Mana Shield! Metal Armor!";
-					mes ". . . . . . . . . . . .";
-					mes "ENERGY COAT! ! !";
-					next;
-					delitem 746,3; //Glass_Bead
-					delitem 730,1; //Crystal_Jewel
-					delitem 935,5; //Shell
-					delitem 943,1; //Solid_Shell
-					skill "MG_ENERGYCOAT",1,0;
-					mes "[BLIZZARDRISS]";
-					mes ". . . . .";
-					mes "It is done. . .";
-					mes "You know have the ";
-					mes "elite skill of ^3355FF' Energy Coat '^000000 .";
-					mes "Use it well.";
-					next;
-					mes "[BLIZZARDRISS]";
-					mes "Do not shame our";
-					mes "class with disgraceful";
-					mes "use of this or any skill.";
-					mes "Your new power calls for new responsibility.";
-					close;
-				}
-			}
+		if ((countitem(746) > 2) && (countitem(730) > 0) && (countitem(935) > 4) && (countitem(943) > 0) && (JobLevel > 34) && (BaseJob == Job_Mage)) {
 			mes "[BLIZZARDRISS]";
-			mes "Look!!";
-			mes "Didn't you listen to my explanation ? !";
-			mes "You have not prepared fully";
-			mes "for me to assist you.";
-			mes "Check that you have me all the requirements";
+			mes "Okay, I have received your request.";
+			mes "I will now awaken your hidden energies . .";
+			mes ". . . . . .";
+			mes ". . . . . . . . . . . . .";
+			mes ". . . . . . . . . . . . . . . . . . . . . . . . . .";
 			next;
 			mes "[BLIZZARDRISS]";
-			mes "If you need me to explain";
-			mes "all this again, then ask me.";
-			mes "I would be happy to explain again";
-			mes "if only you would listen. . .";
+			mes "Ancient powers of";
+			mes "Geffen! I seek the enlightenment";
+			mes "and honor of your presence. ";
+			mes "I am humbled in your presence!";
+			mes " ...";
+			next;
+			mes "[BLIZZARDRISS]";
+			mes "Grant me your power!";
+			mes "Release your spirit";
+			mes "Mana Shield! Metal Armor!";
+			mes ". . . . . . . . . . . .";
+			mes "ENERGY COAT! ! !";
+			next;
+			delitem 746,3; //Glass_Bead
+			delitem 730,1; //Crystal_Jewel
+			delitem 935,5; //Shell
+			delitem 943,1; //Solid_Shell
+			skill "MG_ENERGYCOAT",1,0;
+			mes "[BLIZZARDRISS]";
+			mes ". . . . .";
+			mes "It is done. . .";
+			mes "You know have the ";
+			mes "elite skill of ^3355FF' Energy Coat '^000000 .";
+			mes "Use it well.";
+			next;
+			mes "[BLIZZARDRISS]";
+			mes "Do not shame our";
+			mes "class with disgraceful";
+			mes "use of this or any skill.";
+			mes "Your new power calls for new responsibility.";
 			close;
 		}
+		mes "[BLIZZARDRISS]";
+		mes "Look!!";
+		mes "Didn't you listen to my explanation ? !";
+		mes "You have not prepared fully";
+		mes "for me to assist you.";
+		mes "Check that you have me all the requirements";
+		next;
+		mes "[BLIZZARDRISS]";
+		mes "If you need me to explain";
+		mes "all this again, then ask me.";
+		mes "I would be happy to explain again";
+		mes "if only you would listen. . .";
+		close;
 	case 3:
 		mes "[BLIZZARDRISS]";
 		mes "The wise man must have patience !";

+ 354 - 221
npc/quests/skills/merchant_skills.txt

@@ -3,20 +3,20 @@
 //===== By: ==================================================
 //= kobra_k88
 //===== Current Version: =====================================
-//= 1.5
+//= 1.6
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= [Aegis Conversion]
 //= Quests for skills: Crazy Uproar, Change Cart, Cart
 //  Revolution
 //===== Additional Comments: =================================
 //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
+//= 1.6 Updated to latest available official file. [Masao]
 //============================================================
 
-alberta,83,96,5	script	Necko#qsk_mc	98,7,7,{
-	if (BaseClass == Job_Merchant) {
-		if (getskilllv("MC_LOUD") == 1) {
+alberta,83,96,5	script	Necko	98,7,7,{
+	if (BaseJob == Job_Merchant) {
+		if (mc_loud_x == 1) {
 			mes "[Necko]";
 			mes "I'm sorry. Necko's store is...";
 			mes "Oh? Who's this?";
@@ -40,7 +40,7 @@ alberta,83,96,5	script	Necko#qsk_mc	98,7,7,{
 			mes "Ppyakikakikakakakakakakaka!!";
 			close;
 		}
-		else if (BaseJob == Job_Merchant && JobLevel < 15) {
+		else if ((Class == Job_Merchant) && (JobLevel < 15)) {
 			mes "[Necko]";
 			mes "Oh, did you come because";
 			mes "you are infatuated with my voice?";
@@ -61,14 +61,14 @@ alberta,83,96,5	script	Necko#qsk_mc	98,7,7,{
 			mes "Kyukwakakakakakakakakakaka!";
 			close;
 		}
-		else if (countitem(722) > 6 && countitem(532) > 0 && countitem(921) > 49) {
+		else if ((countitem(722) > 6) && (countitem(532) > 0) && (countitem(921) > 49) && (BaseJob == Job_Merchant) & (JobLevel >= 15)) {
 			mes "[Necko]";
 			mes "Oh! You!";
 			mes "You are qualified to learn how to shout!";
 			mes "Learn how to shout with my help.";
 			mes "Would you like to learn Crazy Uproar?";
 			next;
-			switch(select("Yes!!!!:No.:What is that?")) {
+			switch (select("Yes!!!!:No.:What is that?")) {
 			case 1:
 				mes "[Necko]";
 				mes "Ahahahahaha!! Good!!!";
@@ -79,6 +79,7 @@ alberta,83,96,5	script	Necko#qsk_mc	98,7,7,{
 				delitem 532,1; //Banana_Juice
 				delitem 921,50; //Mushroom_Spore
 				skill "MC_LOUD",1,0;
+				set mc_loud_x,1;
 				mes "[Necko]";
 				mes "You have learned Crazy Uproar!!";
 				mes "Shout as much as you wish!";
@@ -166,24 +167,21 @@ alberta,83,96,5	script	Necko#qsk_mc	98,7,7,{
 		mes "Bboowuuuuuuuuuuuuuuuuh~~~!!";
 		close;
 	}
-	else {
-		mes "[Necko]";
-		mes "Necko's store is closed right now.";
-		mes "come again later. Hehe~";
-		close;
-	}
+	mes "[Necko]";
+	mes "Necko's store is closed right now.";
+	mes "come again later. Hehe~";
+	close;
 
 OnTouch:
 	mes "[!?]";
 	mes "Muahahahahahahahahahahahaha!!";
 	mes "Pukakakakakakakakakakakakaka!";
 	close;
-
 }
 
-alberta,119,221,6	script	Charlron#qsk_mc	107,{
-	if (BaseClass == Job_Merchant) {
-		if (getskilllv("MC_CHANGECART") == 1) {
+alberta,119,221,6	script	Charlron	107,5,5,{
+	if (BaseJob == Job_Merchant) {
+		if (mc_changecart_x == 1) {
 			mes "[Charlron]";
 			mes "Mmm? I was wondering who was making all";
 			mes "the raucus carrying around a cart.";
@@ -203,7 +201,7 @@ alberta,119,221,6	script	Charlron#qsk_mc	107,{
 			mes "Be healthy~";
 			close;
 		}
-		else if ((BaseJob == Job_Merchant && JobLevel >= 30) || BaseJob == Job_Blacksmith || BaseJob == Job_Alchemist) {
+		else if ((BaseJob == Job_Merchant) && (JobLevel >= 30)) {
 			mes "[Charlron]";
 			mes "Nice to see you fellow merchant";
 			mes "If I remember correctly,";
@@ -214,9 +212,9 @@ alberta,119,221,6	script	Charlron#qsk_mc	107,{
 			mes "seem to fit your fame.";
 			mes "How pitiful.";
 			next;
-			switch(select("That's why I came here.:What about my cart?:Two pairs is pitiful?")) {
+			switch (select("That's why I came here.:What about my cart?:Two pairs is pitiful?")) {
 			case 1:
-				if (countitem(1019) > 49 && countitem(998) > 9 && countitem(919) > 19) {
+				if ((countitem(1019) > 49) && (countitem(998) > 9) && (countitem(919) > 19)) {
 					mes "[Charlron]";
 					mes "Haha! Ok, ok!";
 					mes "With the things you brought";
@@ -226,6 +224,7 @@ alberta,119,221,6	script	Charlron#qsk_mc	107,{
 					delitem 998,10; //Iron
 					delitem 919,20; //Animal's_Skin
 					skill "MC_CHANGECART",1,0;
+					set mc_changecart_x,1;
 					mes "[Charlron]";
 					mes "Congratulations.";
 					mes "You can choose a cart";
@@ -246,25 +245,23 @@ alberta,119,221,6	script	Charlron#qsk_mc	107,{
 					mes "Hahaha! Have a nice day!";
 					close;
 				}
-				else {
-					mes "[Charlron]";
-					mes "Mmm... It's true that I";
-					mes "change carts but...";
-					mes "In order to do so, I need";
-					mes "some materials to use.";
-					next;
-					mes "[Charlron]";
-					mes "50 Trunks.";
-					mes "10 Iron.";
-					mes "20 Animal Skins.";
-					mes "I need at least these things";
-					mes "to change your cart.";
-					next;
-					mes "[Charlron]";
-					mes "So come see me when you";
-					mes "have prepared everything.";
-					close;
-				}
+				mes "[Charlron]";
+				mes "Mmm... It's true that I";
+				mes "change carts but...";
+				mes "In order to do so, I need";
+				mes "some materials to use.";
+				next;
+				mes "[Charlron]";
+				mes "50 Trunks.";
+				mes "10 Iron.";
+				mes "20 Animal Skins.";
+				mes "I need at least these things";
+				mes "to change your cart.";
+				next;
+				mes "[Charlron]";
+				mes "So come see me when you";
+				mes "have prepared everything.";
+				close;
 			case 2:
 				mes "[Charlron]";
 				mes "Oh no, you don't know at all?(changes tone)";
@@ -306,43 +303,39 @@ alberta,119,221,6	script	Charlron#qsk_mc	107,{
 				close;
 			}
 		}
-		else {
-			mes "[Charlron]";
-			mes "Welcome young one.";
-			mes "Is selling fun? I am the";
-			mes "merchant Charlron. I have been";
-			mes "doing some research about.";
-			mes "carts recently.";
-			next;
-			mes "[Charlron]";
-			mes "Aren't you tired of that cart?";
-			mes "Come to me if you want to";
-			mes "change your cart. I'll do a good job.";
-			mes "But, there are some conditions.";
-			next;
-			mes "[Charlron]";
-			mes "I'm a pretty famous merchant,";
-			mes "so I don't really deal with beginners.";
-			mes "Once you are level 30";
-			mes "I may consider establishing";
-			mes "a deal with you.";
-			close;
-		}
-	}
-	else {
 		mes "[Charlron]";
-		mes "I am a merchant that";
-		mes "deals with many things, Charlron.";
-		mes "If you ever find anything interesting";
-		mes "come back and try to ";
-		mes "negotiate a deal with me.";
+		mes "Welcome young one.";
+		mes "Is selling fun? I am the";
+		mes "merchant Charlron. I have been";
+		mes "doing some research about.";
+		mes "carts recently.";
+		next;
+		mes "[Charlron]";
+		mes "Aren't you tired of that cart?";
+		mes "Come to me if you want to";
+		mes "change your cart. I'll do a good job.";
+		mes "But, there are some conditions.";
+		next;
+		mes "[Charlron]";
+		mes "I'm a pretty famous merchant,";
+		mes "so I don't really deal with beginners.";
+		mes "Once you are level 30";
+		mes "I may consider establishing";
+		mes "a deal with you.";
 		close;
 	}
+	mes "[Charlron]";
+	mes "I am a merchant that";
+	mes "deals with many things, Charlron.";
+	mes "If you ever find anything interesting";
+	mes "come back and try to ";
+	mes "negotiate a deal with me.";
+	close;
 }
 
-alberta,232,106,6	script	Gershaun#qsk_mc	57,{
-	if (BaseClass == Job_Merchant) {
-		if (getskilllv("MC_CARTREVOLUTION") == 1) {
+alberta,232,106,6	script	Gershaun	57,5,5,{
+	if (BaseJob == Job_Merchant) {
+		if (mc_cartrevolution_x == 1) {
 			mes "[Gershaun]";
 			mes "Ah, long time no see!";
 			mes "Ohh, the red marks on your cart.";
@@ -356,7 +349,7 @@ alberta,232,106,6	script	Gershaun#qsk_mc	57,{
 			mes "Here! Hurry!";
 			close;
 		}
-		else if ((BaseJob == Job_Merchant && JobLevel >= 35) || BaseJob == Job_Blacksmith || BaseJob == Job_Alchemist) {
+		else if ((BaseJob == Job_Merchant) && (JobLevel >= 35)) {
 			mes "[Gershaun]";
 			mes "Ooh. You have a firm body";
 			mes "for a merchant. You must be";
@@ -364,81 +357,222 @@ alberta,232,106,6	script	Gershaun#qsk_mc	57,{
 			mes "Mmm you should be able to learn";
 			mes "Cart Revolution!";
 			next;
-			switch(select("Hey~ that's why I came.:What's that?")) {
+			switch (select("Hey~ that's why I came.:What's that?")) {
 			case 1:
-				switch(rand(1,3)) {
-				case 1: setarray .@Quantity[0],2,20,30,20,5; break;
-				case 2: setarray .@Quantity[0],2,15,25,15,5; break;
-				case 3: setarray .@Quantity[0],2,23,32,23,6; break;
-				}
-				if (countitem(533) >= .@Quantity[0] && countitem(998) >= .@Quantity[1] && countitem(938) >= .@Quantity[2] && countitem(601) >= .@Quantity[3] && countitem(962) >= .@Quantity[4]) {
-					mes "[Gershaun]";
-					mes "Hoho!";
-					mes "Got it! I shall teach you";
-					mes "Cart Revolution!";
-					next;
-					mes "[Gershaun]";
-					mes "Ah, such a nice day!";
-					mes "I shall reward those who";
-					mes "eagerly swing their carts!";
-					next;
-					delitem 533,.@Quantity[0]; //Grape_Juice
-					delitem 998,.@Quantity[1]; //Iron
-					delitem 938,.@Quantity[2]; //Sticky_Mucus
-					delitem 601,.@Quantity[3]; //Wing_Of_Fly
-					delitem 962,.@Quantity[4]; //Tentacle
-					skill "MC_CARTREVOLUTION",1,0;
-					mes "[Gershaun]";
-					mes "Now you can use Cart Revolution";
-					mes "I expect you to make merchants";
-					mes "famous by using this amazing";
-					mes "destruction power. Muahahahahaha!!!";
-					next;
+				set .@care_random,rand(1,3);
+				if (.@care_random == 1) {
+					if ((countitem(533) > 1) && (countitem(998) > 19) && (countitem(938) > 29) && (countitem(601) > 19) && (countitem(962) > 4)) {
+						mes "[Gershaun]";
+						mes "Hoho!";
+						mes "Got it! I shall teach you";
+						mes "Cart Revolution!";
+						next;
+						mes "[Gershaun]";
+						mes "Ah, such a nice day!";
+						mes "I shall reward those who";
+						mes "eagerly swing their carts!";
+						next;
+						delitem 533,2; //Grape_Juice
+						delitem 998,20; //Iron
+						delitem 938,30; //Sticky_Mucus
+						delitem 601,20; //Wing_Of_Fly
+						delitem 962,5; //Tentacle
+						skill "MC_CARTREVOLUTION",1,0;
+						set mc_cartrevolution_x,1;
+						mes "Now you can use Cart Revolution";
+						mes "I expect you to make merchants";
+						mes "famous by using this amazing";
+						mes "destruction power. Muahahahahaha!!!";
+						next;
+						mes "[Gershaun]";
+						mes "Have a great day!!";
+						close;
+					}
+					else if (countitem(532) > 0) {
+						mes "[Gershaun]";
+						mes "Ooh!";
+						mes "It's banana juice!";
+						mes "Thank you very much!";
+						mes "...............Kaah!";
+						delitem 532,1; //Banana_Juice
+						mes "Very refreshing! Thank you! Goodbye!";
+						next;
+						mes "[Gershaun]";
+						mes "Hmm?";
+						mes "You didn't leave yet?";
+						mes "Ah! You are still attached";
+						mes "to Cart Revolution!";
+						mes "Ok then. Considering you brought";
+						mes "the Banana Juice, I'll teach you.";
+						next;
+						mes "[Gershaun]";
+						mes "It's not hard to teach you";
+						mes "Cart Revolution, but I need you to prepare";
+						mes "the materials to modify your cart.";
+						mes "The items I need are..";
+						next;
+						mes "[Gershaun]";
+						mes "First I need 20 Irons to make the cart";
+						mes "durable. Then 30 Sticky Mucus to absorb";
+						mes "the shock.";
+						mes "And about 20 Fly Wings and 5 Tentacles?";
+						mes "And 2 bottles of Grape Juice for me!";
+						next;
+						mes "[Gershaun]";
+						mes "Just bring those.";
+						mes "I'm not saying ONLY 30 or 20.";
+						mes "It depends on my condition!";
+						mes "Hahahaha!";
+						mes "I'll be waiting. Then byebye~";
+						close;
+					}
 					mes "[Gershaun]";
-					mes "Have a great day!!";
+					mes "Mmm!";
+					mes "Nothing can be done without a refreshing drink!";
+					mes "How about starting a conversation";
+					mes "with at least a bottle of Banana Juice?";
 					close;
 				}
-				else if (countitem(532) > 0) {
-					mes "[Gershaun]";
-					mes "Ooh!";
-					mes "It's banana juice!";
-					mes "Thank you very much!";
-					mes "...............Kaah!";
-					delitem 532,1; //Banana_Juice
-					mes "Very refreshing! Thank you! Goodbye!";
-					next;
-					mes "[Gershaun]";
-					mes "Hmm?";
-					mes "You didn't leave yet?";
-					mes "Ah! You are still attached";
-					mes "to Cart Revolution!";
-					mes "Ok then. Considering you brought";
-					mes "the Banana Juice, I'll teach you.";
-					next;
-					mes "[Gershaun]";
-					mes "It's not hard to teach you";
-					mes "Cart Revolution, but I need you to prepare";
-					mes "the materials to modify your cart.";
-					mes "The items I need are..";
-					next;
-					// Do not "Correct" this dialog. It IS correct already.
-					// You're not suposed to know the exact amount to bring.
-					mes "[Gershaun]";
-					mes "First I need 20 Irons to make the cart";
-					mes "durable. Then 30 Sticky Mucus to absorb";
-					mes "the shock.";
-					mes "And about 20 Fly Wings and 5 Tentacles?";
-					mes "And 2 bottles of Grape Juice for me!";
-					next;
+				if (.@care_random == 2) {
+					if ((countitem(533) > 1) && (countitem(998) > 14) && (countitem(938) > 24) && (countitem(601) > 14) && (countitem(962) > 4)) {
+						mes "[Gershaun]";
+						mes "Mmm that's good!";
+						mes "Great! I shall teach you";
+						mes "...Cart Revolution!";
+						next;
+						mes "[Gershaun]";
+						mes "Ah, such a nice day!";
+						mes "I shall reward those who";
+						mes "eagerly swing their carts!";
+						next;
+						delitem 533,2; //Grape_Juice
+						delitem 998,15; //Iron
+						delitem 938,25; //Sticky_Mucus
+						delitem 601,15; //Wing_Of_Fly
+						delitem 962,5; //Tentacle
+						skill "MC_CARTREVOLUTION",1,0;
+						set mc_cartrevolution_x,1;
+						mes "Now you can use Cart Revolution";
+						mes "I expect you to make merchants";
+						mes "famous by using its amazing";
+						mes "destruction power. Muahahahahaha!!!";
+						next;
+						mes "[Gershaun]";
+						mes "Have a good day!!";
+						close;
+					}
+					else if (countitem(532) > 0) {
+						mes "[Gershaun]";
+						mes "Ooh!";
+						mes "It's banana juice!";
+						mes "Thanks a lot!";
+						mes "...............Kaaah!";
+						delitem 532,1; //Banana_Juice
+						mes "Very good! Thank you! Good-bye!";
+						next;
+						mes "[Gershaun]";
+						mes "Mmm?";
+						mes "You didn't leave yet?";
+						mes "Ah! You're still attached";
+						mes "to Cart Revolution!";
+						mes "Ok then. Considering you brought";
+						mes "the banana juice, I'll teach you.";
+						next;
+						mes "[Gershaun]";
+						mes "It's not hard to teach you";
+						mes "Cart Revolution, but I need you to prepare";
+						mes "the materials to modify your cart.";
+						mes "The items I need are..";
+						next;
+						mes "[Gershaun]";
+						mes "First I need 20 Irons to make the cart";
+						mes "durable. Then 30 Sticky Mucus to absorb";
+						mes "the shock.";
+						mes "And about 20 Fly Wings and 5 Tentacles?";
+						mes "And 2 bottles of Grape Juice for me!";
+						next;
+						mes "[Gershaun]";
+						mes "Bring these to me.";
+						mes "But that doesn't mean I want only 30 and 20.";
+						mes "It all depends on my condition!";
+						mes "Just bring me these for now.";
+						mes "Hahahaha!";
+						mes "I'm looking forward to it. Good bye then~";
+						close;
+					}
 					mes "[Gershaun]";
-					mes "Just bring those.";
-					mes "I'm not saying ONLY 30 or 20.";
-					mes "It depends on my condition!";
-					mes "Hahahaha!";
-					mes "I'll be waiting. Then byebye~";
+					mes "Mmm!";
+					mes "Nothing's free nowadays!";
+					mes "How about trying to start a conversation";
+					mes "by offering a bottle of Banana Juice or something?";
 					close;
 				}
-				else {
+				if (.@care_random == 3) {
+					if ((countitem(533) > 1) && (countitem(998) > 22) && (countitem(938) > 31) && (countitem(601) > 22) && (countitem(962) > 5)) {
+						mes "[Gershaun]";
+						mes "Mmm that's good!";
+						mes "Great! I shall teach you";
+						mes "...Cart Revolution!";
+						next;
+						mes "[Gershaun]";
+						mes "Ah, such a nice day!";
+						mes "I shall reward those who";
+						mes "eagerly swing their carts!";
+						next;
+						delitem 533,2; //Grape_Juice
+						delitem 998,23; //Iron
+						delitem 938,32; //Sticky_Mucus
+						delitem 601,23; //Wing_Of_Fly
+						delitem 962,6; //Tentacle
+						skill "MC_CARTREVOLUTION",1,0;
+						set mc_cartrevolution_x, 1;
+						mes "Now you can use Cart Revolution";
+						mes "I expect you to make merchants";
+						mes "famous by using its amazing";
+						mes "destruction power. Muahahahahaha!!!";
+						next;
+						mes "[Gershaun]";
+						mes "Have a good day!!";
+						close;
+					}
+					else if (countitem(532) > 0) {
+						mes "[Gershaun]";
+						mes "Ooh!";
+						mes "It's Banana Juice!";
+						mes "Thanks a lot!";
+						mes "...............Kaaah!";
+						delitem 532,1; //Banana_Juice
+						mes "Very good! Thank you! Good-bye!";
+						next;
+						mes "[Gershaun]";
+						mes "Mmm?";
+						mes "You didn't leave yet?";
+						mes "Ah! You're still attached";
+						mes "to Cart Revolution!";
+						mes "Ok then. Considering you brought";
+						mes "the banana juice, I'll teach you.";
+						next;
+						mes "[Gershaun]";
+						mes "It's not hard to teach you";
+						mes "Cart Revolution, but I need you to prepare";
+						mes "the materials to modify your cart.";
+						mes "The items I need are..";
+						next;
+						mes "[Gershaun]";
+						mes "First I need 20 Irons to make the cart";
+						mes "durable. Then 30 Sticky Mucus to absorb";
+						mes "the shock.";
+						mes "And about 20 Fly Wings and 5 Tentacles?";
+						mes "And 2 bottles of Grape Juice for me!";
+						next;
+						mes "[Gershaun]";
+						mes "Just bring those.";
+						mes "I'm not saying ONLY 30 or 20.";
+						mes "It depends on my condition!";
+						mes "Hahahaha!";
+						mes "I'll be waiting. Then byebye~";
+						close;
+					}
 					mes "[Gershaun]";
 					mes "Mmm!";
 					mes "Nothing can be done without a refreshing drink!";
@@ -500,95 +634,94 @@ alberta,232,106,6	script	Gershaun#qsk_mc	57,{
 				close;
 			}
 		}
-		else {
+		mes "[Gershaun]";
+		mes "Mmm, a young merchant.";
+		mes "You must use carts, too.";
+		mes "Since you need to do business.";
+		mes "But is that all?";
+		next;
+		mes "[Gershaun]";
+		mes "I did research about a different";
+		mes "way to use the cart.";
+		mes "I tried cooking ramen";
+		mes "and even tried jump-roping.";
+		mes "But none of them were able";
+		mes "to satisfy me.";
+		next;
+		switch (select("I know, I know.:...?")) {
+		case 1:
 			mes "[Gershaun]";
-			mes "Mmm, a young merchant.";
-			mes "You must use carts, too.";
-			mes "Since you need to do business.";
-			mes "But is that all?";
+			mes "...no, what I'm saying is.";
+			close;
+		case 2:
+			mes "[Gershaun]";
+			mes "In despair, I wandered";
+			mes "through the fields with my cart.";
+			mes "After wandering dazed day after day..";
+			mes "I met a very strong monster.";
+			mes "Life was in danger!";
+			mes "Why me - a weaponless, armor-less merchant!";
 			next;
 			mes "[Gershaun]";
-			mes "I did research about a different";
-			mes "way to use the cart.";
-			mes "I tried cooking ramen";
-			mes "and even tried jump-roping.";
-			mes "But none of them were able";
-			mes "to satisfy me.";
+			mes "I was scared to death.. thinking";
+			mes "and hoping that this wasn't the";
+			mes "last of me. With little hope left";
+			mes "I tried the last thing possible.";
+			mes "I used my cart to hit the monster!";
+			mes "And then! And then!";
 			next;
-			if (select("I know, I know.:...?") == 2) {
-				mes "[Gershaun]";
-				mes "In despair, I wandered";
-				mes "through the fields with my cart.";
-				mes "After wandering dazed day after day..";
-				mes "I met a very strong monster.";
-				mes "Life was in danger!";
-				mes "Why me - a weaponless, armor-less merchant!";
-				next;
-				mes "[Gershaun]";
-				mes "I was scared to death.. thinking";
-				mes "and hoping that this wasn't the";
-				mes "last of me. With little hope left";
-				mes "I tried the last thing possible.";
-				mes "I used my cart to hit the monster!";
-				mes "And then! And then!";
-				next;
-				mes "[Gershaun]";
-				mes "The monster died in one hit.";
-				mes "It was then that I realized something.";
-				mes "Carts can become weapons, too!";
-				mes "I finally realized that we can";
-				mes "attack with carts!";
-				next;
-				mes "[Gershaun]";
-				mes "Cart Revolution!";
-				mes "That's the new attack skill I developed.";
-				mes "Using 12 SP you lift your cart";
-				mes "to hit your opponent..";
-				mes "right in the head!";
-				next;
-				mes "[Gershaun]";
-				mes "The heavier your cart is, the";
-				mes "stronger you can attack! With one hit,";
-				mes "your opponent will be hurt and";
-				mes "forced to back off!";
-				next;
+			mes "[Gershaun]";
+			mes "The monster died in one hit.";
+			mes "It was then that I realized something.";
+			mes "Carts can become weapons, too!";
+			mes "I finally realized that we can";
+			mes "attack with carts!";
+			next;
+			mes "[Gershaun]";
+			mes "Cart Revolution!";
+			mes "That's the new attack skill I developed.";
+			mes "Using 12 SP you lift your cart";
+			mes "to hit your opponent..";
+			mes "right in the head!";
+			next;
+			mes "[Gershaun]";
+			mes "The heavier your cart is, the";
+			mes "stronger you can attack! With one hit,";
+			mes "your opponent will be hurt and";
+			mes "forced to back off!";
+			next;
+			mes "[Gershaun]";
+			mes "Would you like to learn this skill?";
+			next;
+			switch (select("Yes!!:I want to learn sushi skills...")) {
+			case 1:
 				mes "[Gershaun]";
-				mes "Would you like to learn this skill?";
-				next;
-				switch(select("Yes!!:I want to learn sushi skills...")) {
-				case 1:
-					mes "[Gershaun]";
-					mes "Ok!";
-					mes "I'll give you special training!";
-					mes "First you need health!";
-					mes "Get yourself to merchant";
-					mes "level 35!";
-					mes "We'll talk after that!";
-					close;
-				case 2:
-					mes "[Sushi King Gershaun]";
-					if (Sex)
-						mes "Stupid girl!";
-					else
-						mes "Stupid boy!";
-					mes "It's way to early for you to";
-					mes "even put your hands on sushi!";
-					close;
+				mes "Ok!";
+				mes "I'll give you special training!";
+				mes "First you need health!";
+				mes "Get yourself to merchant";
+				mes "level 35!";
+				mes "We'll talk after that!";
+				close;
+			case 2:
+				mes "[Sushi King Gershaun]";
+				if (Sex > 1) {
+					mes "Stupid girl!";
 				}
+				else {
+					mes "Stupid boy!";
+				}
+				mes "It's way to early for you to";
+				mes "even put your hands on sushi!";
+				close;
 			}
-			mes "[Gershaun]";
-			mes "...no, what I'm saying is.";
-			close;
 		}
-
-	}
-	else {
-		mes "[Gershaun]";
-		mes "If it doesn't work, make it work.";
-		mes "If it doesn't work, make it work.";
-		mes "If it doesn't work, make it work.";
-		close;
 	}
+	mes "[Gershaun]";
+	mes "If it doesn't work, make it work.";
+	mes "If it doesn't work, make it work.";
+	mes "If it doesn't work, make it work.";
+	close;
 }
 
 //============================================================ 

+ 103 - 118
npc/quests/skills/novice_skills.txt

@@ -3,19 +3,19 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.6
+//= 1.7
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
-//= [Aegis Conversion]
 //= Quest for skills: First Aid, Trick Dead
 //===== Additional Comments: ================================= 
 //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
 //= 1.6 Corrected NPC names to fall within proper restrictions. [L0ne_W0lf]
+//= 1.7 Updated to latest available official file. [Masao]
 //============================================================ 
 
-prt_in,234,133,4	script	Nami#qsk_nv	66,{
-	if ((BaseClass == Job_Novice && JobLevel > 3) || (BaseLevel > 11 && NOV_SK < 3)) {
+prt_in,234,133,4	script	Nami	66,{
+	if ((Class == Job_Novice) && (JobLevel > 3 || BaseLevel > 11) && (skill_nov < 3)) {
 		mes "[Nami]";
 		mes "Hello!";
 		mes "I want to be a nurse so bad!";
@@ -23,9 +23,10 @@ prt_in,234,133,4	script	Nami#qsk_nv	66,{
 		mes "Actually, I'm really good.";
 		mes "Do you want me to try on you? ? ? . .";
 		next;
-		if (select("Continue conversation:Slowly slink away. . . .") == 1) {
-			if (NOV_SK >= 0 && NOV_SK <= 2) {
-				switch(NOV_SK) {
+		switch (select("Continue conversation:Slowly slink away. . . .")) {
+		case 1:
+			if ((skill_nov >= 0) && (skill_nov <= 2)) {
+				switch (skill_nov) {
 				case 0:
 					mes "[Nami]";
 					mes "Thank you for giving me this chance!";
@@ -76,7 +77,7 @@ prt_in,234,133,4	script	Nami#qsk_nv	66,{
 					mes "If you go and find these items, ";
 					mes "I will be happy to teach you this skill.";
 					mes "Well, I will be awaiting your return.";
-					set NOV_SK,1;
+					set skill_nov,1;
 					close;
 				case 1:
 					mes "[Nami]";
@@ -103,7 +104,7 @@ prt_in,234,133,4	script	Nami#qsk_nv	66,{
 					mes "this item. . . ";
 					close;
 				case 2:
-					if (countitem(507) > 2 && countitem(705) > 2) {
+					if ((countitem(507) > 2) && (countitem(705) > 2)) {
 						delitem 507,3; //Red_Herb
 						delitem 705,3; //Clover
 						mes "[Nami]";
@@ -135,8 +136,8 @@ prt_in,234,133,4	script	Nami#qsk_nv	66,{
 						mes "and combine them together and. . .";
 						mes "Presto !!";
 						next;
-						skill 142,1,0;
-						set NOV_SK,3;
+						skill "NV_FIRSTAID",1,0;
+						set skill_nov,3;
 						mes "[Nami]";
 						mes "Yes yes, that's right!";
 						mes "Now that you have this";
@@ -145,29 +146,24 @@ prt_in,234,133,4	script	Nami#qsk_nv	66,{
 						mes "Thank you and have a great day !~~~";
 						close;
 					}
-					else {
-						mes "[Nami]";
-						mes "First aid does require";
-						mes "some small preparations. . .";
-						mes "Some simple items you should have on hand are";
-						mes "^3355FF' 3 Red_Herb '^000000 ";
-						mes "^3355FF' 3 Clover '^000000 ";
-						mes "^3355FF' 1 Sterilized Bandages '^000000 ";
-						close;
-					}
+					mes "[Nami]";
+					mes "First aid does require";
+					mes "some small preparations. . .";
+					mes "Some simple items you should have on hand are";
+					mes "^3355FF' 3 Red_Herb '^000000 ";
+					mes "^3355FF' 3 Clover '^000000 ";
+					mes "^3355FF' 1 Sterilized Bandages '^000000 ";
+					close;
 				}
 			}
-			else {
-				mes "[Nami]";
-				mes ". . . . . Z z z";
-				mes "I am so sorry!!!...I know I did it wrong...!!";
-				mes "Wahhhh ..";
-				mes "!! *sigh* !!";
-				mes "- *rolls her eyes* -";
-				close;
-			}
-		}
-		else {
+			mes "[Nami]";
+			mes ". . . . . Z z z";
+			mes "I am so sorry!!!...I know I did it wrong...!!";
+			mes "Wahhhh ..";
+			mes "!! *sigh* !!";
+			mes "- *rolls her eyes* -";
+			close;
+		case 2:
 			mes "[Nami]";
 			mes "Hey! .. Where are you going? !";
 			mes "Come over here and have a shot !";
@@ -176,26 +172,24 @@ prt_in,234,133,4	script	Nami#qsk_nv	66,{
 			close;
 		}
 	}
-	else {
-		mes "[Nami]";
-		mes "I am working hard to receive";
-		mes "my nursing license . . .";
-		mes "I don't think that I lack anything";
-		mes "to become a nurse . .";
-		mes "It must be because of my lack of my experience ?";
-		next;
-		mes "[Nami]";
-		mes "If only you had at least";
-		mes "a first job . .";
-		mes "or maybe be over ^3355FF novice job level 4^000000";
-		mes "I could have talked to";
-		mes "you a little longer. . . . . . .";
-		close;
-	}
+	mes "[Nami]";
+	mes "I am working hard to receive";
+	mes "my nursing license . . .";
+	mes "I don't think that I lack anything";
+	mes "to become a nurse . .";
+	mes "It must be because of my lack of my experience ?";
+	next;
+	mes "[Nami]";
+	mes "If only you had at least";
+	mes "a first job . .";
+	mes "or maybe be over ^3355FF novice job level 4^000000";
+	mes "I could have talked to";
+	mes "you a little longer. . . . . . .";
+	close;
 }
 
-prt_in,73,87,4	script	Chivalry Member#qsk_nv	65,{
-	if ((BaseJob == Job_Novice && Upper != 1 && JobLevel > 6) && NOV_SK >= 3 && NOV_SK <= 5) {
+prt_in,73,87,4	script	Chivalry Member	65,{
+	if ((Class == Job_Novice) && (JobLevel > 6) && ((skill_nov >= 3) && (skill_nov <= 5))) {
 		mes "[Bulma]";
 		mes "Yeah. . . I look great. . .";
 		mes "I am a knight in the knight's";
@@ -204,7 +198,7 @@ prt_in,73,87,4	script	Chivalry Member#qsk_nv	65,{
 		mes " knight, but I still look great huh?";
 		mes "What do you think? ? ?";
 		next;
-		switch(NOV_SK) {
+		switch (skill_nov) {
 		case 3:
 			mes "[Bulma]";
 			mes "Hello my young friend -";
@@ -289,7 +283,7 @@ prt_in,73,87,4	script	Chivalry Member#qsk_nv	65,{
 			mes "If you are late, you have to do it again! !";
 			mes "Now GO ! GO ! GO !";
 			mes "Run ~~~~~!!!!";
-			set NOV_SK,4;
+			set skill_nov, 4;
 			close;
 		case 4:
 			mes "[Bulma]";
@@ -317,65 +311,61 @@ prt_in,73,87,4	script	Chivalry Member#qsk_nv	65,{
 				mes "use this skill as you see fit.";
 				mes " ' Play Dead ' ";
 				mes "Okay okay, See you around ! ! !";
-				set NOV_SK,6;
+				set skill_nov,6;
 				delitem 7039,1; //Novice_Nametag
-				skill 143,1,0;
-				close;
-			}
-			else {
-				mes "[Bulma]";
-				mes "What? -";
-				mes "Why haven't you finished your quest?";
-				mes " *Tsk* *Tsk* You must have lost the pass . . .";
-				mes "Such irresponsibility is not acceptable.";
-				mes "I can't accept you into training until";
-				mes "I know you are capable. Go and try again.";
-				next;
-				mes "[Bulma]";
-				mes "Don't take me lightly. . .";
-				mes "If I tell you to come in 10 minutes,";
-				mes "I expect that of you.";
-				mes "In order for you to have another chance,";
-				mes "you must start from the beginning. . .";
-				mes "Do it right this time ! ! ! !";
-				set NOV_SK,4;
+				skill "NV_TRICKDEAD",1,0;
 				close;
 			}
+			mes "[Bulma]";
+			mes "What? -";
+			mes "Why haven't you finished your quest?";
+			mes " *Tsk* *Tsk* You must have lost the pass . . .";
+			mes "Such irresponsibility is not acceptable.";
+			mes "I can't accept you into training until";
+			mes "I know you are capable. Go and try again.";
+			next;
+			mes "[Bulma]";
+			mes "Don't take me lightly. . .";
+			mes "If I tell you to come in 10 minutes,";
+			mes "I expect that of you.";
+			mes "In order for you to have another chance,";
+			mes "you must start from the beginning. . .";
+			mes "Do it right this time ! ! ! !";
+			set skill_nov,4;
+			close;
 		}
 	}
-	else {
-		mes "[Bulma]";
-		mes "Yeah... I remember back to long ago !";
-		mes "Especially those embarrassing Novice years.";
-		mes "Wow... It is funny to think about those years now.";
-		mes "Those years were difficult. . .";
-		mes "Thankfully you can use the First Aid";
-		mes "skill when you reach novice job level 7.";
-		next;
-		mes "[Bulma]";
-		mes "That saved me many times in the past. . .";
-		mes "I am sure it will help you much as well.";
-		mes "Hopefully, it will be something you use well . .";
-		next;
-		mes "[Bulma]";
-		mes "If you have any friends who are novices,";
-		mes "tell them about me.";
-		mes "If I can, I will help them out";
-		mes "as best as I can . . . .";
-		close;
-	}
+	mes "[Bulma]";
+	mes "Yeah... I remember back to long ago !";
+	mes "Especially those embarrassing Novice years.";
+	mes "Wow... It is funny to think about those years now.";
+	mes "Those years were difficult. . .";
+	mes "Thankfully you can use the First Aid";
+	mes "skill when you reach novice job level 7.";
+	next;
+	mes "[Bulma]";
+	mes "That saved me many times in the past. . .";
+	mes "I am sure it will help you much as well.";
+	mes "Hopefully, it will be something you use well . .";
+	next;
+	mes "[Bulma]";
+	mes "If you have any friends who are novices,";
+	mes "tell them about me.";
+	mes "If I can, I will help them out";
+	mes "as best as I can . . . .";
+	close;
 }
 
-prt_castle,175,146,4	script	Nursing Instructor#qsk_n	50,{
+prt_castle,175,146,4	script	Nursing Instructor	50,{
 	mes "[Dread Lord]";
 	mes ". . . . . . . . . .";
 	mes ". . . . . . . . . .";
 	mes "Stop pestering me! ! !";
 	mes "I am very busy ! ! !";
 	mes "Would you just bug off ? ! ? !";
-	next;
-	if (NOV_SK == 0 || NOV_SK == 1 || NOV_SK == 2 || NOV_SK == 4 || NOV_SK == 5) {
-		switch(NOV_SK) {
+	close2;
+	if ((skill_nov >= 0) && (skill_nov <= 5)) {
+		switch (skill_nov) {
 		case 0:
 			mes "[Dread Lord]";
 			mes "The people who work here at";
@@ -397,7 +387,7 @@ prt_castle,175,146,4	script	Nursing Instructor#qsk_n	50,{
 			mes "Do you even know how we get these";
 			mes "precious bandages ?";
 			mes "They come from a powerful monster";
-			mes "that is found in the pyramids of Moroc.";
+			mes "that is found in the pyramids of Morroc.";
 			next;
 			mes "[Dread Lord]";
 			mes "The monster is some sort of mummy.";
@@ -424,7 +414,7 @@ prt_castle,175,146,4	script	Nursing Instructor#qsk_n	50,{
 			mes "go and get killed, be careful. -";
 			next;
 			mes "^3355FF- Got 1 Sterilized Bandages -^000000";
-			set NOV_SK,2;
+			set skill_nov,2;
 			close;
 		case 2:
 			mes "[Dread Lord]";
@@ -452,20 +442,17 @@ prt_castle,175,146,4	script	Nursing Instructor#qsk_n	50,{
 				mes "-woosh - *storms away*";
 				next;
 				mes "^3355FF- Got 1 Newbie Tag -^000000";
-				set NOV_SK,5;
+				set skill_nov,5;
 				getitem 7039,1; //Novice_Nametag
 				close;
 			}
-			else {
-				mes "[Dread Lord]";
-				mes "What ! !";
-				mes "I'm only going to give you one!";
-				mes "You don't need any more for the test !";
-				mes "Do you want to stay a novice forever???";
-				mes "I would be happy to arrange that !";
-				close;
-			}
-			break;
+			mes "[Dread Lord]";
+			mes "What ! !";
+			mes "I'm only going to give you one!";
+			mes "You don't need any more for the test !";
+			mes "Do you want to stay a novice forever???";
+			mes "I would be happy to arrange that !";
+			close;
 		case 5:
 			mes "[Dread Lord]";
 			mes "What more do you want !";
@@ -474,13 +461,11 @@ prt_castle,175,146,4	script	Nursing Instructor#qsk_n	50,{
 			close;
 		}
 	}
-	else {
-		mes "[Dread Lord]";
-		mes "Argh, Get out of here !!";
-		mes "I don't like shouting but ..";
-		mes "GET OUT OF HERE! ! ! ! ! !";
-		close;
-	}
+	mes "[Dread Lord]";
+	mes "Argh, Get out of here !!";
+	mes "I don't like shouting but ..";
+	mes "GET OUT OF HERE! ! ! ! ! !";
+	close;
 }
 
 //============================================================ 

+ 215 - 221
npc/quests/skills/swordman_skills.txt

@@ -3,56 +3,59 @@
 //===== By: ==================================================
 //= kobra_k88
 //===== Current Version: =====================================
-//= 1.6
+//= 1.7
 //===== Compatible With: =====================================
 //= rAthena SVN
 //===== Description: =========================================
-//= [Aegis Conversion]
 //= Quests for skills: Fatal Blow, Mobile HP Recovery,
 //  Auto-Berserk
 //===== Additional Comments: =================================
 //= 1.6 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
+//= 1.7 Updated to latest available official file. [Masao]
 //============================================================
 
-izlude_in,175,130,2	script	Knight De Thomas#qsk_sm	98,{
-	if (BaseClass == Job_Swordman) {
-		if (SWORD_SK < 1 && getskilllv("SM_MOVINGRECOVERY") == 0) {
-			mes "[De Thomas]";
-			mes "Oh, no! You must have been hurt! Are you ok?";
-			mes "You must have fought hard to get such serious injuries..";
-			mes "Being a swordsman must come with a lot of responsibility and sacrifice.";
-			next;
+izlude_in,175,130,2	script	Knight De Thomas	98,4,4,{
+	if ((BaseJob == Job_Swordman) && (sm_movingrecovery_x < 1)) {
+		mes "[De Thomas]";
+		mes "Oh, no! You must have been hurt! Are you ok?";
+		mes "You must have fought hard to get such serious injuries..";
+		mes "Being a swordsman must come with a lot of responsibility and sacrifice.";
+		next;
+		mes "[De Thomas]";
+		if (Sex == 0) {
+			mes "For these swordsmen and knights, there is a wonderful skill.";
+		}
+		else {
+			mes "For these swordswomen and knights, there is a wonderful skill young lady.";
+		}
+		mes "I present to you - HP Recovery While Moving!";
+		mes "Body moving is a splendid skill";
+		mes "that allows you to regain strength(HP)";
+		mes "while you are moving!";
+		next;
+		mes "[De Thomas]";
+		mes "It is currently under development";
+		mes "so it may not recover that much,";
+		mes "but it will help a little.";
+		mes "What do you think? Would you like to learn this skill?";
+		next;
+		switch (select("What a nice skill! I want to learn it!:No, thank you.")) {
+		case 1:
 			mes "[De Thomas]";
-			if (Sex == 0)
-				mes "For these swordsmen and knights, there is a wonderful skill.";
-			else
-				mes "For these swordswomen and knights, there is a wonderful skill young lady.";
-			mes "I present to you - HP Recovery While Moving!";
-			mes "Body moving is a splendid skill";
-			mes "that allows you to regain strength(HP)";
-			mes "while you are moving!";
+			mes "Very well. I will tell you what you need to learn this skill.";
+			mes "First, your job level must be higher than ^00880035^000000.";
+			mes "You will also need ^008800200 empty bottles^000000.";
+			mes "Why? Because it is proof that you fought fiercely to have used that many potions.";
 			next;
 			mes "[De Thomas]";
-			mes "It is currently under development";
-			mes "so it may not recover that much,";
-			mes "but it will help a little.";
-			mes "What do you think? Would you like to learn this skill?";
+			mes "Also, the armor you used in battle.";
+			mes "This is also proof of an experienced fighter.";
+			mes "For the armor... your armor is perfect!";
+			mes "Bring your armor!";
+			mes "Last but not least... bring me one ^008800Moth Wing^000000.";
 			next;
-			if (select("What a nice skill! I want to learn it!:No, thank you.") == 1) {
-				mes "[De Thomas]";
-				mes "Very well. I will tell you what you need to learn this skill.";
-				mes "First, your job level must be higher than ^00880035^000000.";
-				mes "You will also need ^008800200 empty bottles^000000.";
-				mes "Why? Because it is proof that you fought fiercely to have used that many potions.";
-				next;
-				mes "[De Thomas]";
-				mes "Also, the armor you used in battle.";
-				mes "This is also proof of an experienced fighter.";
-				mes "For the armor... your armor is perfect!";
-				mes "Bring your armor!";
-				mes "Last but not least... bring me one ^008800Moth Wing^000000.";
-				next;
-				select("Eh? You need that, too?");
+			switch (select("Eh? You need that, too?")) {
+			case 1:
 				mes "[De Thomas]";
 				mes "Not really.. I don't really NEED it.";
 				mes "It's just that my niece has gotten a bug hunting as a holiday task during the summer vacation.";
@@ -63,96 +66,94 @@ izlude_in,175,130,2	script	Knight De Thomas#qsk_sm	98,{
 				mes "Don't you think it is pitiful that I have to stay in once place everyday, not being able to go outside?";
 				mes "Please, find me one...*sniffsniff*";
 				mes "If you don't...";
-				set SWORD_SK,1;
+				set sm_movingrecovery_x,1;
 				mes "You won't get anything! Muahahaha.";
 				close;
-			}
-			mes "[De Thomas]";
-			mes "...";
-			close;
-		}
-		else if (SWORD_SK == 1 && getskilllv("SM_MOVINGRECOVERY") == 0) {
-			mes "[De Thomas]";
-			mes "Welcome back...";
-			mes "are you ready to learn Body Movin'?";
-			next;
-			switch(select("Yes.:No, I'm not ready yet.")) {
-			case 1:
-				if (JobLevel > 34 && countitem(713) > 199 && countitem(1058) > 0) {
-					mes "[De Thomas]";
-					mes "Let's see.....";
-					next;
-					mes "[De Thomas]";
-					mes "Ok! I shall now teach you...";
-					mes "..The Body Movin' skill!";
-					next;
-					delitem 713,200; //Empty_Bottle
-					delitem 1058,1; //Wing_Of_Moth
-					skill "SM_MOVINGRECOVERY",1,0;
-					set SWORD_SK,0;
-					mes "[De Thomas]";
-					mes "There you go!";
-					mes "Try it yourself.";
-					mes "But don't overdo it.";
-					next;
-					mes "[De Thomas]";
-					mes "Oh yeah, I won't be needing your";
-					mes "armor so you can keep it.";
-					mes "..Good luck now!";
-					close;
-				}
-				else if (JobLevel < 35) {
-					mes "[De Thomas]";
-					mes "Wait a second your Job level isn't above ^00880035^000000!";
-					mes "Come back when it is.";
-					close;
-				}
-				else if (countitem(713) < 200 || countitem(1058) < 1) {
-					mes "[De Thomas]";
-					mes "You do not have all the items I asked for.";
-					next;
-					mes "[De Thomas]";
-					mes "Remember I need, ^008800200 empty bottles^000000, your armor, and a ^008800Moth Wing^000000. Come back when you have it all.";
-					close;
-				}
-				else {
-					mes "[De Thomas]";
-					mes "You do not have all the items I asked for.";
-					next;
-					mes "[De Thomas]";
-					mes "Remember I need, ^008800200 empty bottles^000000, your armor, and a ^008800Moth Wing^000000. Come back when you have it all.";
-					close;
-				}
 			case 2:
 				mes "[De Thomas]";
-				mes "Is that so?";
-				mes "Then come when you are prepared.";
+				mes "...";
 				close;
 			}
 		}
-		else {
-			mes "[De Thomas]";
-			mes "Oh, it's you?";
-			mes "Long time no see!";
-			mes "You seem healthier than before.";
-			mes "Hahahaha!";
-			mes "Take care! See you again!";
-			close;
-		}
 	}
-	else {
+	else if ((BaseJob == Job_Swordman) && (sm_movingrecovery_x > 1)) {
 		mes "[De Thomas]";
-		mes "My name is De Thomas Carlos.";
-		mes "Knight of Prontera's 3rd Calvary.";
-		mes "I have a certain duty these days.";
-		mes "Ehem! Need I say more.";
+		mes "Oh, it's you?";
+		mes "Long time no see!";
+		mes "You seem healthier than before.";
+		mes "Hahahaha!";
+		mes "Take care! See you again!";
 		close;
 	}
+	else if ((BaseJob == Job_Swordman) && (sm_movingrecovery_x == 1)) {
+		mes "[De Thomas]";
+		mes "Welcome back...";
+		mes "are you ready to learn Body Movin'?";
+		next;
+		switch (select("Yes.:No, I'm not ready yet.")) {
+		case 1:
+			if ((JobLevel > 34) && (countitem(713) > 199) && (countitem(1058) > 0)) {
+				mes "[De Thomas]";
+				mes "Let's see.....";
+				next;
+				mes "[De Thomas]";
+				mes "Ok! I shall now teach you...";
+				mes "..The Body Movin' skill!";
+				next;
+				delitem 713,200; //Empty_Bottle
+				delitem 1058,1; //Wing_Of_Moth
+				skill "SM_MOVINGRECOVERY",1,0;
+				set sm_movingrecovery_x,2;
+				mes "[De Thomas]";
+				mes "There you go!";
+				mes "Try it yourself.";
+				mes "But don't overdo it.";
+				next;
+				mes "[De Thomas]";
+				mes "Oh yeah, I won't be needing your";
+				mes "armor so you can keep it.";
+				mes "..Good luck now!";
+				close;
+			}
+			else if (JobLevel < 35) {
+				mes "[De Thomas]";
+				mes "Wait a second your Job level isn't above ^00880035^000000!";
+				mes "Come back when it is.";
+				close;
+			}
+			else if ((countitem(713) < 200) || (countitem(1058) < 1)) {
+				mes "[De Thomas]";
+				mes "You do not have all the items I asked for.";
+				next;
+				mes "[De Thomas]";
+				mes "Remember I need, ^008800200 empty bottles^000000, your armor, and a ^008800Moth Wing^000000. Come back when you have it all.";
+				close;
+			}
+			mes "[De Thomas]";
+			mes "You do not have all the items I asked for.";
+			next;
+			mes "[De Thomas]";
+			mes "Remember I need, ^008800200 empty bottles^000000, your armor, and a ^008800Moth Wing^000000. Come back when you have it all.";
+			close;
+		case 2:
+			mes "[De Thomas]";
+			mes "Is that so?";
+			mes "Then come when you are prepared.";
+			close;
+		}
+	}
+	mes "[De Thomas]";
+	mes "My name is De Thomas Carlos.";
+	mes "Knight of Prontera's 3rd Calvary.";
+	mes "I have a certain duty these days.";
+	mes "Ehem! Need I say more.";
+	close;
 }
 
-prt_in,75,88,5	script	Leon Von Frich#qsk_sm	85,3,3,{
-	if ((BaseJob == Job_Swordman && JobLevel >= 25) || BaseJob == Job_Knight || BaseJob == Job_Crusader) {
-		if (getskilllv("SM_FATALBLOW") == 1) {
+prt_in,75,88,5	script	Leon Von Frich	85,3,3,{
+
+	if ((BaseJob == Job_Swordman) && (JobLevel >= 25)) {
+		if (sm_fatalblow_x == 1) {
 			mes "[Leon]";
 			mes "Eh?";
 			mes "I was wondering who that was!";
@@ -161,13 +162,13 @@ prt_in,75,88,5	script	Leon Von Frich#qsk_sm	85,3,3,{
 			mes "Be careful! Hahaha!";
 			close;
 		}
-		else if (countitem(1752) > 9 && countitem(1751) > 9 && countitem(532) > 0 && countitem(962) > 29 && countitem(526) > 4) {
+		else if ((countitem(1752) > 9) && (countitem(1751) > 9) && (countitem(532) > 0) && (countitem(962) > 29) && (countitem(526) > 4) && (BaseJob == Job_Swordman) && (JobLevel >= 25)) {
 			mes "[Leon]";
 			mes "Ooh! You are more than ready";
 			mes "to learn Fatal Blow!";
 			mes "So how about it? Would you like to learn?";
 			next;
-			switch(select("Yes!:No, I don't want to.:But, what is Fatal Blow?")) {
+			switch (select("Yes!:No, I don't want to.:But, what is Fatal Blow?")) {
 			case 1:
 				mes "[Leon]";
 				mes "OK, lets begin!";
@@ -178,6 +179,7 @@ prt_in,75,88,5	script	Leon Von Frich#qsk_sm	85,3,3,{
 				delitem 962,30; //Tentacle
 				delitem 526,5; //Royal_Jelly
 				skill "SM_FATALBLOW",1,0;
+				set sm_fatalblow_x,1;
 				mes "[Leon]";
 				mes "Success!";
 				mes "Go use your new skill to its full potential.";
@@ -209,7 +211,7 @@ prt_in,75,88,5	script	Leon Von Frich#qsk_sm	85,3,3,{
 			mes "[Leon]";
 			mes "Wow, seeing your arm, you must enjoy using bash?";
 			next;
-			select("Eh, I.. just...");
+			menu "Eh, I.. just...",-;
 			mes "[Leon]";
 			if (Sex == 0) {
 				mes "No need to be surprised.";
@@ -225,17 +227,15 @@ prt_in,75,88,5	script	Leon Von Frich#qsk_sm	85,3,3,{
 			mes "[Leon]";
 			mes "Yes, I would like to give a present to an awesome swordsman like you.";
 			next;
-			switch(select("What present?:It's ok.")) {
+			switch (select("What present?:It's ok.")) {
 			case 1:
 				mes "[Leon]";
 				mes "Haha nothing special, but a skill to attack the vital point!";
 				next;
-				break;
 			case 2:
 				mes "[Leon]";
 				mes "...Haha nothing special, just a skill that aims at the vital spot!";
 				next;
-				break;
 			}
 			mes "[Leon]";
 			mes "It's a skill I developed recently.";
@@ -255,7 +255,7 @@ prt_in,75,88,5	script	Leon Von Frich#qsk_sm	85,3,3,{
 			mes "and finally, I developed this wonderful new skill!";
 			mes "Would you like to learn this skill?";
 			next;
-			switch(select("Yes.:No.:Do you have any advice on how to eat sushi?")) {
+			switch (select("Yes.:No.:Do you have any advice on how to eat sushi?")) {
 			case 1:
 				mes "[Leon]";
 				mes "Ok. I'll tell you the requirements.";
@@ -292,16 +292,13 @@ prt_in,75,88,5	script	Leon Von Frich#qsk_sm	85,3,3,{
 				close;
 			}
 		}
-		close;
-	}
-	else {
-		mes "[Leon]";
-		mes "Oh, no! I have nothing to offer you!";
-		mes "I can't say nice and fun things to anyone";
-		mes "other than swordsmen!";
-		mes "See you in a better world!";
-		close;
 	}
+	mes "[Leon]";
+	mes "Oh, no! I have nothing to offer you!";
+	mes "I can't say nice and fun things to anyone";
+	mes "other than swordsmen!";
+	mes "See you in a better world!";
+	close;
 
 OnTouch:
 	mes "[Leon]";
@@ -310,9 +307,9 @@ OnTouch:
 	close;
 }
 
-prt_in,94,57,3	script	Juan#qsk_sm	85,{
-	if (BaseClass == Job_Swordman) {
-		if (getskilllv("SM_AUTOBERSERK") == 1) {
+prt_in,94,57,3	script	Juan	85,4,4,{
+	if (BaseJob == Job_Swordman) {
+		if (sm_autoberserk_x == 1) {
 			mes "[Juan]";
 			mes "Mmm? Long time no see!";
 			mes "How are you?";
@@ -321,7 +318,7 @@ prt_in,94,57,3	script	Juan#qsk_sm	85,{
 			mes "You can do it.";
 			close;
 		}
-		else if (BaseJob == Job_Swordman && JobLevel < 10) {
+		else if ((BaseJob == Job_Swordman) && (JobLevel < 10)) {
 			mes "[?]";
 			mes "What are you?";
 			mes "Eh, still a beginner.";
@@ -329,91 +326,90 @@ prt_in,94,57,3	script	Juan#qsk_sm	85,{
 			mes "before coming back.";
 			close;
 		}
-		else if (BaseJob == Job_Swordman && JobLevel > 10 && JobLevel < 30) {
+		else if ((BaseJob == Job_Swordman) && ((JobLevel > 10) && (JobLevel < 30))) {
 			mes "[Juan]";
 			mes "Oh, nice to meet you.";
 			mes "You can be on your way. (smiley~)";
 			close;
 		}
-		else if (countitem(924) > 34 && countitem(958) > 9 && countitem(957) > 9 && countitem(518) > 9) {
-			if ((BaseJob == Job_Swordman && JobLevel >= 30) || BaseJob == Job_Knight || BaseJob == Job_Crusader) {
+		else if ((countitem(924) > 34) && (countitem(958) > 9) && (countitem(957) > 9) && (countitem(518) > 9) && (BaseJob == Job_Swordman) && (JobLevel >= 30)) {
+			mes "[Juan]";
+			mes "Ooh. Young swordsman!";
+			mes "You are ready to learn the";
+			mes "newest skill, Auto Berserk?!";
+			next;
+			switch (select("Hoho, I would like to learn it now.:What is that?")) {
+			case 1:
+				mes "[Juan]";
+				mes "Ok. Then..";
+				next;
+				delitem 924,35; //Powder_Of_Butterfly
+				delitem 958,10; //Horrendous_Mouth
+				delitem 957,10; //Decayed_Nail
+				delitem 518,10; //Honey
+				skill "SM_AUTOBERSERK",1,0;
+				set sm_autoberserk_x,1;
 				mes "[Juan]";
-				mes "Ooh. Young swordsman!";
-				mes "You are ready to learn the";
-				mes "newest skill, Auto Berserk?!";
+				mes "You have just become a swordsman";
+				mes "that can use Auto Berserk.";
+				mes "You can go about ";
+				mes "and achieve great things!";
 				next;
-				switch(select("Hoho, I would like to learn it now.:What is that?")) {
-				case 1:
-					mes "[Juan]";
-					mes "Ok. Then..";
-					next;
-					delitem 924,35; //Powder_Of_Butterfly
-					delitem 958,10; //Horrendous_Mouth
-					delitem 957,10; //Decayed_Nail
-					delitem 518,10; //Honey
-					skill "SM_AUTOBERSERK",1,0;
-					mes "[Juan]";
-					mes "You have just become a swordsman";
-					mes "that can use Auto Berserk.";
-					mes "You can go about ";
-					mes "and achieve great things!";
-					next;
-					mes "[Juan]";
-					mes "Good luck!";
-					next;
-					mes "[Juan]";
-					mes "....................................oh yeah.";
-					mes "I forgot to say something.";
-					mes "There are some things you must keep in mind.";
-					next;
-					mes "[Juan]";
-					mes "Once you regain health,";
-					mes "this skill will subside.";
-					mes "Also, there isn't really a time limit";
-					mes "but it can still disappear when";
-					mes "it is attacked with a skill that can";
-					mes "nullify provoke.";
-					next;
-					mes "[Juan]";
-					mes "If you don't remember these characteristics,";
-					mes "you may run into some problems on the battlefield";
-					mes "when the skill disappears all of a sudden.";
-					next;
-					mes "[Juan]";
-					mes "Then... bye for real~";
-					close;
-				case 2:
-					mes "[Juan]";
-					mes "Auto Berserk?";
-					mes "It's a skill crucial on the battlefield.";
-					mes "When your health is in red,";
-					mes "your hidden potential provokes yourself";
-					mes "to help you in battle.";
-					next;
-					mes "[Juan]";
-					mes "It is perfect for those that";
-					mes "fight on the battlefield like fire!";
-					mes "With your ability, you can learn";
-					mes "this skill right now.";
-					mes "Then, I shall tell you the necessary materials.";
-					next;
-					mes "[Juan]";
-					mes "You need 35 Powder of Butterfly.";
-					mes "The energy from the magnificent";
-					mes "wings of a butterfly will";
-					mes "help you gather your strength!";
-					mes "And 10 Horrendous Mouth.";
-					mes "10 Decayed Nail.";
-					mes "and last but not least...";
-					mes "10 Honey!";
-					next;
-					mes "[Juan]";
-					mes "Did you get all that down?";
-					mes "As always, please come back";
-					mes "when you are ready.";
-					mes "I look forward to seeing you again.";
-					close;
-				}
+				mes "[Juan]";
+				mes "Good luck!";
+				next;
+				mes "[Juan]";
+				mes "....................................oh yeah.";
+				mes "I forgot to say something.";
+				mes "There are some things you must keep in mind.";
+				next;
+				mes "[Juan]";
+				mes "Once you regain health,";
+				mes "this skill will subside.";
+				mes "Also, there isn't really a time limit";
+				mes "but it can still disappear when";
+				mes "it is attacked with a skill that can";
+				mes "nullify provoke.";
+				next;
+				mes "[Juan]";
+				mes "If you don't remember these characteristics,";
+				mes "you may run into some problems on the battlefield";
+				mes "when the skill disappears all of a sudden.";
+				next;
+				mes "[Juan]";
+				mes "Then... bye for real~";
+				close;
+			case 2:
+				mes "[Juan]";
+				mes "Auto Berserk?";
+				mes "It's a skill crucial on the battlefield.";
+				mes "When your health is in red,";
+				mes "your hidden potential provokes yourself";
+				mes "to help you in battle.";
+				next;
+				mes "[Juan]";
+				mes "It is perfect for those that";
+				mes "fight on the battlefield like fire!";
+				mes "With your ability, you can learn";
+				mes "this skill right now.";
+				mes "Then, I shall tell you the necessary materials.";
+				next;
+				mes "[Juan]";
+				mes "You need 35 Powder of Butterfly.";
+				mes "The energy from the magnificent";
+				mes "wings of a butterfly will";
+				mes "help you gather your strength!";
+				mes "And 10 Horrendous Mouth.";
+				mes "10 Decayed Nail.";
+				mes "and last but not least...";
+				mes "10 Honey!";
+				next;
+				mes "[Juan]";
+				mes "Did you get all that down?";
+				mes "As always, please come back";
+				mes "when you are ready.";
+				mes "I look forward to seeing you again.";
+				close;
 			}
 		}
 		mes "[Juan]";
@@ -429,7 +425,7 @@ prt_in,94,57,3	script	Juan#qsk_sm	85,{
 		mes "Of course you could always use the";
 		mes "skill we developed to overcome these limits.";
 		next;
-		switch(select("Eh! What are you talking about?:Haha, there can't be such a thing.:Keuuuuuuuh!")) {
+		switch (select("Eh! What are you talking about?:Haha, there can't be such a thing.:Keuuuuuuuh!")) {
 		case 1:
 			mes "[Juan]";
 			mes "The skill is called Berserk.";
@@ -474,14 +470,12 @@ prt_in,94,57,3	script	Juan#qsk_sm	85,{
 			close;
 		}
 	}
-	else {
-		mes "[Juan]";
-		mes "Are you enjoying your trip?";
-		mes "I hope you have nice days ahead of you.";
-		mes "Ah, I am just a kind knight Juan.";
-		mes "Don't worry about me too much. Hahaha...";
-		close;
-	}
+	mes "[Juan]";
+	mes "Are you enjoying your trip?";
+	mes "I hope you have nice days ahead of you.";
+	mes "Ah, I am just a kind knight Juan.";
+	mes "Don't worry about me too much. Hahaha...";
+	close;
 }
 
 //============================================================ 

+ 345 - 357
npc/quests/skills/thief_skills.txt

@@ -3,20 +3,20 @@
 //===== By: ================================================== 
 //= kobra_k88
 //===== Current Version: ===================================== 
-//= 1.6
+//= 1.7
 //===== Compatible With: ===================================== 
 //= rAthena SVN
 //===== Description: ========================================= 
-//= [Aegis Conversion]
 //= Quests for skills: Sand Attack, Back Slide, Find Stone, 
 //= Stone Fling.
 //===== Additional Comments: ================================= 
 //= 1.5 Rescripted to Aegis 10.3 stadards. [L0ne_W0lf]
 //= 1.6 Fixed a Exploit for Assassins and Rogues. (bugreport:2332) [Samuray22]
+//= 1.7 Updated to latest available official file. [Masao]
 //============================================================ 
 
-moc_prydb1,154,128,4	script	Alcouskou#qsk_tf	118,{
-	if (BaseClass == Job_Thief) {
+moc_prydb1,154,128,4	script	Alcouskou	118,{
+	if (BaseJob == Job_Thief) {
 		mes "[Alcouskou]";
 		mes "As you live life you will encounter";
 		mes "many things. Sometimes you will";
@@ -25,11 +25,11 @@ moc_prydb1,154,128,4	script	Alcouskou#qsk_tf	118,{
 		mes "as useless knowledge, but it isn't";
 		mes "Let me explain.";
 		next;
-		switch(select("Sand Attack:Back Slide:Find Stone:Stone Fling:I will be back later.")) {
+		switch (select("Sand Attack:Back Slide:Find Stone:Stone Fling:I will be back later.")) {
 		case 1:
-			switch(THIEF_SK) {
+			switch (skill_thief_1) {
 			case 0:
-				if (countitem(7041) > 4 && ((BaseJob == Job_Thief && JobLevel > 24) || BaseJob == Job_Assassin || BaseJob == Job_Rogue)) {
+				if ((countitem(7041) > 4) && (BaseJob == Job_Thief) && (JobLevel > 24)) {
 					mes "[Alcouskou]";
 					mes "Luckily, you have brought some";
 					mes "sand with you. It is very important";
@@ -59,57 +59,55 @@ moc_prydb1,154,128,4	script	Alcouskou#qsk_tf	118,{
 					mes "west Payon. That is where I";
 					mes "heard he is these days.";
 					delitem 7041,5; //Fine_Grit
-					set THIEF_SK,1;
-					close;
-				}
-				else {
-					mes "[Alcouskou]";
-					mes "The most important part";
-					mes "of being a good thief is stealth.";
-					mes "A thief should never be seen or";
-					mes "touched unless he wants to.";
-					mes "Some consider this cowardly";
-					mes "but I think differently.";
-					next;
-					mes "[Alcouskou]";
-					mes "The way I see it, we live in a";
-					mes "world where survival of the fittest";
-					mes "rules our lives. ";
-					mes "They may think less of me for use";
-					mes "this special skill. . . What is this skill?";
-					mes "This is the sand blinding skill.";
-					next;
-					mes "[Alcouskou]";
-					mes "If you can throw or kick sand";
-					mes "in the eyes of your opponent,";
-					mes "not only does their defense decrease,";
-					mes "but their ability to attack is impaired.";
-					mes "It is so effective, you may even stun them.";
-					next;
-					mes "[Alcouskou]";
-					mes "Well, we have to survive too.";
-					mes "Its either us or them. . .";
-					mes "I think it is important and vital";
-					mes "that we prepare a little sand.";
-					mes "What do you think? If you like it ";
-					mes "go and get five Fine Grit.";
-					next;
-					mes "[Alcouskou]";
-					mes "I am sure you eager to learn this";
-					mes "skill, but you must first gather five Fine Grit";
-					mes "Until you have gathered them,";
-					mes "I cannot teach you this skill.";
-					mes "Don't be disappointed, hurry and gather them.";
-					next;
-					mes "[Alcouskou]";
-					mes "Oh, I almost forgot! ! !";
-					mes "If you want to learn this ";
-					mes "special skill, be sure that";
-					mes "you are sufficiently experienced";
-					mes "to use this properly. This means";
-					mes "you should be at least job level 25.";
+					set skill_thief_1,1;
 					close;
 				}
+				mes "[Alcouskou]";
+				mes "The most important part";
+				mes "of being a good thief is stealth.";
+				mes "A thief should never be seen or";
+				mes "touched unless he wants to.";
+				mes "Some consider this cowardly";
+				mes "but I think differently.";
+				next;
+				mes "[Alcouskou]";
+				mes "The way I see it, we live in a";
+				mes "world where survival of the fittest";
+				mes "rules our lives. ";
+				mes "They may think less of me for use";
+				mes "this special skill. . . What is this skill?";
+				mes "This is the sand blinding skill.";
+				next;
+				mes "[Alcouskou]";
+				mes "If you can throw or kick sand";
+				mes "in the eyes of your opponent,";
+				mes "not only does their defense decrease,";
+				mes "but their ability to attack is impaired.";
+				mes "It is so effective, you may even stun them.";
+				next;
+				mes "[Alcouskou]";
+				mes "Well, we have to survive too.";
+				mes "Its either us or them. . .";
+				mes "I think it is important and vital";
+				mes "that we prepare a little sand.";
+				mes "What do you think? If you like it ";
+				mes "go and get five Fine Grit.";
+				next;
+				mes "[Alcouskou]";
+				mes "I am sure you eager to learn this";
+				mes "skill, but you must first gather five Fine Grit";
+				mes "Until you have gathered them,";
+				mes "I cannot teach you this skill.";
+				mes "Don't be disappointed, hurry and gather them.";
+				next;
+				mes "[Alcouskou]";
+				mes "Oh, I almost forgot! ! !";
+				mes "If you want to learn this ";
+				mes "special skill, be sure that";
+				mes "you are sufficiently experienced";
+				mes "to use this properly. This means";
+				mes "you should be at least job level 25.";
+				close;
 			case 1:
 				mes "[Alcouskou]";
 				mes "Go to west payon and find";
@@ -149,298 +147,290 @@ moc_prydb1,154,128,4	script	Alcouskou#qsk_tf	118,{
 				mes "I hope that this skill will";
 				mes "aid you in the future. -";
 				delitem 7042,1; //Leather_Bag_Of_Infinity
-				skill 149,1,0;
-				close;
-			}
-		case 2:
-			if (countitem(940) > 19  && ((BaseJob == Job_Thief && JobLevel > 34) || BaseJob == Job_Assassin || BaseJob == Job_Rogue)) {
-				mes "[Alcouskou]";
-				mes "Okay! Let's practice!";
-				next;
-				mes "[Alcouskou]";
-				mes "Suuu Suuu uk -";
-				next;
-				mes "[Alcouskou]";
-				mes "Suuuuk - -";
-				next;
-				mes "[Alcouskou]";
-				mes "Suk - Suuuk - - -";
-				next;
-				mes "[Alcouskou]";
-				mes "Great! -At this level,";
-				mes "I am sure you can increase";
-				mes "your skill on your own.";
-				delitem 940,20; //Grasshopper's_Leg
-				skill 150,1,0;
-				close;
-			}
-			else {
-				mes "[Alcouskou]";
-				mes "Usually we like to think about";
-				mes "attacking and damage, but";
-				mes "it is important to realize that";
-				mes "fleeing is just as important";
-				mes "as attacking!";
-				mes "We pride ourselves in our";
-				next;
-				mes "[Alcouskou]";
-				mes "speed and quick dodges,";
-				mes "but I am sure that at times you";
-				mes "have realized while fighting that";
-				mes "despite the fact that our dodging";
-				mes "is superior, if we are hit once we are";
-				mes "serious danger.";
-				next;
-				mes "[Alcouskou]";
-				mes "It is true that at times we";
-				mes "can view others as humorous as";
-				mes "we easily dodge their attacks.";
-				mes "But if we are attacked by many at";
-				mes "once, you must remember that we";
-				mes "may not even have room to doge.";
-				next;
-				mes "[Alcouskou]";
-				mes "You must make a quick decision";
-				mes "to flee. Most would flee immediately,";
-				mes "but we don't need to.";
-				mes "Even if we don't see an opening,";
-				mes "our skill can allow us to slip out";
-				mes "of a very serious predicament.";
-				next;
-				mes "[Alcouskou]";
-				mes "This skill uses our energies in";
-				mes "allowing us to slip out unnoticed.";
-				mes "In a short amount of time we can use";
-				mes "this skill to put a large amount of ";
-				mes "distance between us and our opponent.";
-				mes "This skill requires endless hours of";
-				next;
-				mes "[Alcouskou]";
-				mes "practice for us to master.";
-				mes "If you wish to learn and practice,";
-				mes "you will need to prepare some items.";
-				mes "Prepare ^3355FF20 Grasshopper's Leg^";
-				mes "to begin your training.";
-				next;
-				mes "[Alcouskou]";
-				mes "Oh, by the way. . .";
-				mes "You need to have some background";
-				mes "in the skills of a thief to properly master";
-				mes "this skill. This means you require at";
-				mes "least the experience of job level ^3355FF35^000000 .";
-				mes "If not, I cannot teach you.";
-				close;
-			}
-		case 3:
-			if (countitem(912) > 0 && countitem(948) > 0 && countitem(908) > 4 && ((BaseJob == Job_Thief && JobLevel > 19) || BaseJob == Job_Assassin || BaseJob == Job_Rogue)) {
-				mes "[Alcouskou]";
-				mes "Wow, you have already prepared?";
-				mes "Great, I see promise in you. -";
-				mes "Your zeal is truly sincere.";
-				mes "Okay, Shall we begin your training?";
-				mes "Stone throwing . . . . .";
-				mes "Find a smoot stone with a good weight.";
-				next;
-				mes "[Alcouskou]";
-				mes "Picking the right stone is ";
-				mes "very important in being successful.";
-				mes "Well I could tell you a million";
-				mes "times but it is better to see for yourself.";
-				mes "Okay why don't you try the skill out";
-				mes "right here where I can watch you.";
-				next;
-				mes "^3355FF- Shweeput ! -^000000";
-				next;
-				mes "^3355FF- Cheeeguk! -^000000";
-				next;
-				mes "^3355FF- Shyaaaakkk ! -^000000";
-				next;
-				mes "[Alcouskou]";
-				mes "Very nice. You seem to take up -";
-				mes "the skill easily.";
-				mes "You can improve your skill with";
-				mes "practice on your own time.";
-				mes "I hope it aids you in the future.";
-				mes ". . . . . Hope to see you soon";
-				delitem 912,1; //Zargon
-				delitem 948,1; //Bear's_Foot
-				delitem 908,5; //Spawn
-				skill 151,1,0;
-				close;
-			}
-			else {
-				mes "[Alcouskou]";
-				mes "The skilled and experienced";
-				mes "members of our guild are usually very handy!";
-				mes "They can pick up a small stone";
-				mes "by the road and use it to hit an";
-				mes "opponent accurately and quickly from";
-				mes "a distance.";
-				next;
-				mes "[Alcouskou]";
-				mes "They realized what a waste it was";
-				mes "to not teach this skill to others. -";
-				mes "They founded a group to train";
-				mes "others in this skill. . .";
-				mes "That is how the ^3355FF' Find Stone '^000000 and";
-				mes "^3355FF' Stone Fling '^000000 skills came to be.";
-				next;
-				mes "[Alcouskou]";
-				mes "It is handy to be able to find a stone";
-				mes "in most any place and have the";
-				mes "ability to hurl it into a distanced enemy.";
-				mes "A very valuable skill indeed. -";
-				mes "Without costing you a zeny, you";
-				mes "can have this skill at your disposal.";
-				next;
-				mes "[Alcouskou]";
-				mes "I really think of this as a great skill.";
-				mes "What do you think of it?";
-				mes ". . . . . Hah Hah Hah . . . . . .";
-				next;
-				mes "[Alcouskou]";
-				mes "^3355FF' Find Stone ! '^000000 skill";
-				mes "can be used in just about any location.";
-				mes "Picking stones off the ground that";
-				mes "are smooth and well weighted for";
-				mes "throwing. It does take some familiarity";
-				mes "and skill to learn this skill well.";
-				next;
-				mes "[Alcouskou]";
-				mes "The small amount of training required";
-				mes "does require that you put in a full";
-				mes "effort . . .-";
-				mes ". . . . . *Ahem* . . . . .";
-				mes "Let first begin by practicing how to pick up";
-				mes "one ^3355FFBear's Footskin^000000 to familiarize the action.";
-				next;
-				mes "[Alcouskou]";
-				mes "And in lieu of a stone, try picking up";
-				mes " a ^3355FFZargon^000000 !";
-				mes "Would that be too little ?";
-				mes "Lets add ^3355FF5 Spawn^000000 !!";
-				mes "Show me your skill !";
-				mes "Retrieve these items by any means you see fit.";
-				close;
-			}
-		case 4:
-			if (countitem(910) > 1 && countitem(911) > 1 && ((BaseJob == Job_Thief && JobLevel > 14) || BaseJob == Job_Assassin || BaseJob == Job_Rogue)) {
-				mes "[Alcouskou]";
-				mes "Wow! Have you already gathered the items!";
-				mes "Very well, do you wish to begin?";
-				mes "Prepare the items you have gathered ..";
-				next;
-				mes "^3355FF- Shyuuk ! -^000000";
-				next;
-				mes "^3355FF- Shyuuuk Tuk. . -^000000";
-				next;
-				mes "^3355FF- Shyupattt !! - Tauk !! -^000000";
-				next;
-				mes "[Alcouskou]";
-				mes "Strike~~~!!";
-				mes "That was excellent !";
-				mes "You know have sufficient";
-				mes "power and skill.";
-				next;
-				mes "[Alcouskou]";
-				mes "Okay, that is all there is";
-				mes "to it. How you use it in";
-				mes "the future is up to you ..";
-				mes "I wish you luck!";
-				delitem 910,2; //Garlet
-				delitem 911,2; //Scell
-				skill 152,1,0;
-				close;
-			}
-			else {
-				mes "[Alcouskou]";
-				mes "The skilled and experienced";
-				mes "members of our guild are usually very handy!";
-				mes "They can pick up a small stone";
-				mes "by the road and use it to hit an";
-				mes "opponent accurately and quickly from";
-				mes "a distance.";
-				next;
-				mes "[Alcouskou]";
-				mes "They realized what a waste it was";
-				mes "to not teach this skill to others. -";
-				mes "They founded a group to train";
-				mes "others in this skill. . .";
-				mes "That is how the ^3355FF' Find Stone '^000000 and";
-				mes "^3355FF' Stone Fling '^000000 skills came to be.";
-				next;
-				mes "[Alcouskou]";
-				mes "It is handy to be able to find a stone";
-				mes "in most any place and have the";
-				mes "ability to hurl it into a distanced enemy.";
-				mes "A very valuable skill indeed. -";
-				mes "Without costing you a zeny, you";
-				mes "can have this skill at your disposal.";
-				next;
-				mes "[Alcouskou]";
-				mes "I really think of this as a great skill.";
-				mes "What do you think of it?";
-				mes ". . . . . Hah Hah Hah . . . . . .";
-				next;
-				mes "[Alcouskou]";
-				mes "^3355FFStone Fling !!^000000";
-				mes "This skill can be used so";
-				mes "readily and does not take any";
-				mes "extra money if you can pick up";
-				mes "stones well . . .";
-				mes "If you don't know how to choose";
-				next;
-				mes "[Alcouskou]";
-				mes "stones well, you can always buy";
-				mes "them from those who can.";
-				mes "And if you can choose stones well,";
-				mes "it could be very profitable for you.";
-				mes "What do you think? Do you like the idea?";
-				next;
-				mes "[Alcouskou]";
-				mes "If you wish to master this skill,";
-				mes "you will have to train quite a bit.";
-				mes "The training also requires some items";
-				mes "that won't be easy to find. . .";
-				mes "Of course, I am sure it won't be";
-				mes "impossible with your skill . .";
-				next;
-				mes "[Alcouskou]";
-				mes "You will need two ^3355FF' Garlet '^000000";
-				mes "and two ^3355FF' Scell '^000000 to start with.";
-				mes "Make sure they are similar to stones";
-				mes "and able to be thrown. When you";
-				mes "have gathered these items, I will be";
-				mes "happy to teach you.";
+				skill "TF_SPRINKLESAND",1,0;
 				close;
 			}
-		case 5:
+	case 2:
+		if ((countitem(940) > 19) && (BaseJob == Job_Thief) && (JobLevel > 34)) {
 			mes "[Alcouskou]";
-			mes "It seems you are not very experienced. . .";
-			mes "We may need some more time to consider you.";
+			mes "Okay! Let's practice!";
+			next;
+			mes "[Alcouskou]";
+			mes "Suuu Suuu uk -";
+			next;
+			mes "[Alcouskou]";
+			mes "Suuuuk - -";
+			next;
+			mes "[Alcouskou]";
+			mes "Suk - Suuuk - - -";
+			next;
+			mes "[Alcouskou]";
+			mes "Great! -At this level,";
+			mes "I am sure you can increase";
+			mes "your skill on your own.";
+			delitem 940,20; //Grasshopper's_Leg
+			skill "TF_BACKSLIDING",1,0;
+			close;
+		}
+		mes "[Alcouskou]";
+		mes "Usually we like to think about";
+		mes "attacking and damage, but";
+		mes "it is important to realize that";
+		mes "fleeing is just as important";
+		mes "as attacking!";
+		mes "We pride ourselves in our";
+		next;
+		mes "[Alcouskou]";
+		mes "speed and quick dodges,";
+		mes "but I am sure that at times you";
+		mes "have realized while fighting that";
+		mes "despite the fact that our dodging";
+		mes "is superior, if we are hit once we are";
+		mes "serious danger.";
+		next;
+		mes "[Alcouskou]";
+		mes "It is true that at times we";
+		mes "can view others as humorous as";
+		mes "we easily dodge their attacks.";
+		mes "But if we are attacked by many at";
+		mes "once, you must remember that we";
+		mes "may not even have room to doge.";
+		next;
+		mes "[Alcouskou]";
+		mes "You must make a quick decision";
+		mes "to flee. Most would flee immediately,";
+		mes "but we don't need to.";
+		mes "Even if we don't see an opening,";
+		mes "our skill can allow us to slip out";
+		mes "of a very serious predicament.";
+		next;
+		mes "[Alcouskou]";
+		mes "This skill uses our energies in";
+		mes "allowing us to slip out unnoticed.";
+		mes "In a short amount of time we can use";
+		mes "this skill to put a large amount of ";
+		mes "distance between us and our opponent.";
+		mes "This skill requires endless hours of";
+		next;
+		mes "[Alcouskou]";
+		mes "practice for us to master.";
+		mes "If you wish to learn and practice,";
+		mes "you will need to prepare some items.";
+		mes "Prepare ^3355FF20 Grasshopper's Leg^";
+		mes "to begin your training.";
+		next;
+		mes "[Alcouskou]";
+		mes "Oh, by the way. . .";
+		mes "You need to have some background";
+		mes "in the skills of a thief to properly master";
+		mes "this skill. This means you require at";
+		mes "least the experience of job level ^3355FF35^000000 .";
+		mes "If not, I cannot teach you.";
+		close;
+	case 3:
+		if ((countitem(912) > 0) && (countitem(948) > 0) && (countitem(908) > 4) && (BaseJob == Job_Thief) && (JobLevel > 19)) {
+			mes "[Alcouskou]";
+			mes "Wow, you have already prepared?";
+			mes "Great, I see promise in you. -";
+			mes "Your zeal is truly sincere.";
+			mes "Okay, Shall we begin your training?";
+			mes "Stone throwing . . . . .";
+			mes "Find a smoot stone with a good weight.";
+			next;
+			mes "[Alcouskou]";
+			mes "Picking the right stone is ";
+			mes "very important in being successful.";
+			mes "Well I could tell you a million";
+			mes "times but it is better to see for yourself.";
+			mes "Okay why don't you try the skill out";
+			mes "right here where I can watch you.";
+			next;
+			mes "^3355FF- Shweeput ! -^000000";
+			next;
+			mes "^3355FF- Cheeeguk! -^000000";
+			next;
+			mes "^3355FF- Shyaaaakkk ! -^000000";
+			next;
+			mes "[Alcouskou]";
+			mes "Very nice. You seem to take up -";
+			mes "the skill easily.";
+			mes "You can improve your skill with";
+			mes "practice on your own time.";
+			mes "I hope it aids you in the future.";
+			mes ". . . . . Hope to see you soon";
+			delitem 912,1; //Zargon
+			delitem 948,1; //Bear's_Foot
+			delitem 908,5; //Spawn
+			skill "TF_PICKSTONE",1,0;
+			close;
+		}
+		mes "[Alcouskou]";
+		mes "The skilled and experienced";
+		mes "members of our guild are usually very handy!";
+		mes "They can pick up a small stone";
+		mes "by the road and use it to hit an";
+		mes "opponent accurately and quickly from";
+		mes "a distance.";
+		next;
+		mes "[Alcouskou]";
+		mes "They realized what a waste it was";
+		mes "to not teach this skill to others. -";
+		mes "They founded a group to train";
+		mes "others in this skill. . .";
+		mes "That is how the ^3355FF' Find Stone '^000000 and";
+		mes "^3355FF' Stone Fling '^000000 skills came to be.";
+		next;
+		mes "[Alcouskou]";
+		mes "It is handy to be able to find a stone";
+		mes "in most any place and have the";
+		mes "ability to hurl it into a distanced enemy.";
+		mes "A very valuable skill indeed. -";
+		mes "Without costing you a zeny, you";
+		mes "can have this skill at your disposal.";
+		next;
+		mes "[Alcouskou]";
+		mes "I really think of this as a great skill.";
+		mes "What do you think of it?";
+		mes ". . . . . Hah Hah Hah . . . . . .";
+		next;
+		mes "[Alcouskou]";
+		mes "^3355FF' Find Stone ! '^000000 skill";
+		mes "can be used in just about any location.";
+		mes "Picking stones off the ground that";
+		mes "are smooth and well weighted for";
+		mes "throwing. It does take some familiarity";
+		mes "and skill to learn this skill well.";
+		next;
+		mes "[Alcouskou]";
+		mes "The small amount of training required";
+		mes "does require that you put in a full";
+		mes "effort . . .-";
+		mes ". . . . . *Ahem* . . . . .";
+		mes "Let first begin by practicing how to pick up";
+		mes "one ^3355FFBear's Footskin^000000 to familiarize the action.";
+		next;
+		mes "[Alcouskou]";
+		mes "And in lieu of a stone, try picking up";
+		mes " a ^3355FFZargon^000000 !";
+		mes "Would that be too little ?";
+		mes "Lets add ^3355FF5 Spawn^000000 !!";
+		mes "Show me your skill !";
+		mes "Retrieve these items by any means you see fit.";
+		close;
+	case 4:
+		if ((countitem(910) > 1) && (countitem(911) > 1) && (BaseJob == Job_Thief) & (JobLevel > 14)) {
+			mes "[Alcouskou]";
+			mes "Wow! Have you already gathered the items!";
+			mes "Very well, do you wish to begin?";
+			mes "Prepare the items you have gathered ..";
+			next;
+			mes "^3355FF- Shyuuk ! -^000000";
+			next;
+			mes "^3355FF- Shyuuuk Tuk. . -^000000";
+			next;
+			mes "^3355FF- Shyupattt !! - Tauk !! -^000000";
+			next;
+			mes "[Alcouskou]";
+			mes "Strike~~~!!";
+			mes "That was excellent !";
+			mes "You know have sufficient";
+			mes "power and skill.";
+			next;
+			mes "[Alcouskou]";
+			mes "Okay, that is all there is";
+			mes "to it. How you use it in";
+			mes "the future is up to you ..";
+			mes "I wish you luck!";
+			delitem 910,2; //Garlet
+			delitem 911,2; //Scell
+			skill "TF_THROWSTONE",1,0;
 			close;
 		}
-	}
-	else {
 		mes "[Alcouskou]";
-		mes "Most thieves and assassins";
-		mes "have the basic skills to do";
-		mes "well at their job. However,";
-		mes "the skills that I can teach them";
-		mes "cannot be learned anywhere else.";
-		mes "If you every decide to";
+		mes "The skilled and experienced";
+		mes "members of our guild are usually very handy!";
+		mes "They can pick up a small stone";
+		mes "by the road and use it to hit an";
+		mes "opponent accurately and quickly from";
+		mes "a distance.";
 		next;
 		mes "[Alcouskou]";
-		mes "become a thief or assassin,";
-		mes "or know someone who is,";
-		mes "come to me or send them to me.";
-		mes "These new skills should be";
-		mes "taught to all who want to learn them.";
+		mes "They realized what a waste it was";
+		mes "to not teach this skill to others. -";
+		mes "They founded a group to train";
+		mes "others in this skill. . .";
+		mes "That is how the ^3355FF' Find Stone '^000000 and";
+		mes "^3355FF' Stone Fling '^000000 skills came to be.";
+		next;
+		mes "[Alcouskou]";
+		mes "It is handy to be able to find a stone";
+		mes "in most any place and have the";
+		mes "ability to hurl it into a distanced enemy.";
+		mes "A very valuable skill indeed. -";
+		mes "Without costing you a zeny, you";
+		mes "can have this skill at your disposal.";
+		next;
+		mes "[Alcouskou]";
+		mes "I really think of this as a great skill.";
+		mes "What do you think of it?";
+		mes ". . . . . Hah Hah Hah . . . . . .";
+		next;
+		mes "[Alcouskou]";
+		mes "^3355FFStone Fling !!^000000";
+		mes "This skill can be used so";
+		mes "readily and does not take any";
+		mes "extra money if you can pick up";
+		mes "stones well . . .";
+		mes "If you don't know how to choose";
+		next;
+		mes "[Alcouskou]";
+		mes "stones well, you can always buy";
+		mes "them from those who can.";
+		mes "And if you can choose stones well,";
+		mes "it could be very profitable for you.";
+		mes "What do you think? Do you like the idea?";
+		next;
+		mes "[Alcouskou]";
+		mes "If you wish to master this skill,";
+		mes "you will have to train quite a bit.";
+		mes "The training also requires some items";
+		mes "that won't be easy to find. . .";
+		mes "Of course, I am sure it won't be";
+		mes "impossible with your skill . .";
+		next;
+		mes "[Alcouskou]";
+		mes "You will need two ^3355FF' Garlet '^000000";
+		mes "and two ^3355FF' Scell '^000000 to start with.";
+		mes "Make sure they are similar to stones";
+		mes "and able to be thrown. When you";
+		mes "have gathered these items, I will be";
+		mes "happy to teach you.";
+		close;
+	case 5:
+		mes "[Alcouskou]";
+		mes "It seems you are not very experienced. . .";
+		mes "We may need some more time to consider you.";
 		close;
 	}
 }
+	mes "[Alcouskou]";
+	mes "Most thieves and assassins";
+	mes "have the basic skills to do";
+	mes "well at their job. However,";
+	mes "the skills that I can teach them";
+	mes "cannot be learned anywhere else.";
+	mes "If you every decide to";
+	next;
+	mes "[Alcouskou]";
+	mes "become a thief or assassin,";
+	mes "or know someone who is,";
+	mes "come to me or send them to me.";
+	mes "These new skills should be";
+	mes "taught to all who want to learn them.";
+	close;
+}
 
-payon,91,77,3	script	Bag Seller#qsk_tf	99,{
+payon,91,77,3	script	Bag Seller	99,{
 	mes "[RuRumuni]";
 	mes "I am a humble merchant here";
 	mes "in Payon. I buy the leather";
@@ -449,18 +439,18 @@ payon,91,77,3	script	Bag Seller#qsk_tf	99,{
 	mes "pouches to sell. I grew up";
 	mes "around leather working and am quite good at it.";
 	next;
-	switch(THIEF_SK) {
+	switch (skill_thief_1) {
 	case 0:
 		mes "[RuRumuni]";
 		mes "There is a thief guild in the";
-		mes "area of Moroc. I know one there";
+		mes "area of Morroc. I know one there";
 		mes "that sends me thieves in need";
 		mes "of items I make such as a";
 		mes "^3355FF' Leather Bag of Infinity '^000000.";
 		mes "They visit my store often.";
 		close;
 	case 1:
-		if (countitem(952) > 0 && countitem(1055) > 0 && countitem(1025) > 0) {
+		if ((countitem(952) > 0) && (countitem(1055) > 0) && (countitem(1025) > 0)) {
 			mes "[RuRumuni]";
 			mes "Ahhh... You have come for a leather bag.";
 			mes "Very good, very good.";
@@ -479,27 +469,25 @@ payon,91,77,3	script	Bag Seller#qsk_tf	99,{
 			delitem 952,1; //Cactus_Needle
 			delitem 1055,1; //Earthworm_Peeling
 			delitem 1025,1; //Spiderweb
-			set THIEF_SK,2;
+			set skill_thief_1,2;
 			getitem 7042,1; //Leather_Bag_Of_Infinity
 			close;
 		}
-		else {
-			mes "[RuRumuni]";
-			mes "Find Alcouskou of the thief guild";
-			mes "to place and order for a leather bag of infinity.";
-			mes "You should know that the leather bag of infinity";
-			mes "takes much time and skill to make.";
-			mes "In order to make such an item, you";
-			mes "must provide me with the materials.";
-			next;
-			mes "The items needed as materials are";
-			mes "these items. ..";
-			mes "^3355FF' Earthworm Peeling '^000000";
-			mes "^3355FF' Cobweb '^000000";
-			mes "^3355FF' Cactus Needle '^000000";
-			mes "I need one of each.";
-			close;
-	}
+		mes "[RuRumuni]";
+		mes "Find Alcouskou of the thief guild";
+		mes "to place and order for a leather bag of infinity.";
+		mes "You should know that the leather bag of infinity";
+		mes "takes much time and skill to make.";
+		mes "In order to make such an item, you";
+		mes "must provide me with the materials.";
+		next;
+		mes "The items needed as materials are";
+		mes "these items. ..";
+		mes "^3355FF' Earthworm Peeling '^000000";
+		mes "^3355FF' Cobweb '^000000";
+		mes "^3355FF' Cactus Needle '^000000";
+		mes "I need one of each.";
+		close;
 	case 2:
 		mes "[RuRumuni]";
 		mes "Here is your leather bag of infinity.";