浏览代码

- This should fix all job quests which didn't work after the update.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@16584 54d463be-8e91-2dee-dedb-b68131a5f0ec
masao87 12 年之前
父节点
当前提交
44327805ca

+ 248 - 251
npc/jobs/2-1/assassin.txt

@@ -686,8 +686,7 @@ OnTouch:
 		mes "I am not necessarily cruel. Before we proceed, is there anything you wish to know?";
 		next;
 	}
-	set ASSIN_Q3,0;
-	while (1) {
+	while(ASSIN_Q3 < 3) {
 		switch (select("...Skills?:...Stats?:Hmpf, I know it all.")) {
 		case 1:
 			mes "[The Anonymous One]";
@@ -773,11 +772,10 @@ OnTouch:
 				set ASSIN_Q3,3;
 				changequest 8001,8002;
 				next;
-				break;
 			} else {
 				set ASSIN_Q3,3;
 				changequest 8001,8002;
-				break;
+				next;
 			}
 			break;
 		}
@@ -959,7 +957,7 @@ OnTouch:
 			mes "[The Anonymous One]";
 			mes "6. Choose the correct specialty of the Assassin class.";
 			next;
-			select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability");
+			if(select("Excellent singing talent:Excellent reading talent:Excellent dancing talent:Excellent dodge ability") == 4);
 			set @assassin_t,@assassin_t + 10;
 			mes "[The Anonymous One]";
 			mes "7. Choose the maximum AGI bonus an Assassin can get at job level 50.";
@@ -1312,7 +1310,7 @@ OnInit:
 OnStartArena:
 	warpwaitingpc "in_moc_16",66,151;
 	attachrid($@warpwaitingpc[0]);
-	if(ASSIN_Q2<5) {
+	if(ASSIN_Q3 < 5) {
 		warpchar "in_moc_16",20,145,getcharid(0);
 		end;
 	}
@@ -1412,11 +1410,11 @@ in_moc_16,1,1,0	script	Beholder#ASNTEST	139,{
 	end;
 
 OnInit:
-	hideonnpc "Beholder#ASNTEST";
+	disablenpc "Beholder#ASNTEST";
 	end;
 
 OnEnable:
-	hideoffnpc "Beholder#ASNTEST";
+	enablenpc "Beholder#ASNTEST";
 	monster "in_moc_16",62,161,"Job change target",1002,1,"Beholder#ASNTEST::OnMyMobDead";
 	monster "in_moc_16",85,169,"Job change target",1063,1,"Beholder#ASNTEST::OnMyMobDead";
 	monster "in_moc_16",88,152,"Job change target",1002,1,"Beholder#ASNTEST::OnMyMobDead";
@@ -1455,7 +1453,7 @@ OnMyMobDead:
 	end;
 
 OnDisable:
-	hideonnpc "Beholder#ASNTEST";
+	disablenpc "Beholder#ASNTEST";
 	end;
 
 OnTimer1000:
@@ -1538,16 +1536,16 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "backers#ASN";
+	disablenpc "backers#ASN";
 	end;
 
 OnEnable:
 	donpcevent "job_asn_test::OnDisable";
-	hideoffnpc "backers#ASN";
+	enablenpc "backers#ASN";
 	end;
 
 OnDisable:
-	hideonnpc "backers#ASN";
+	disablenpc "backers#ASN";
 	end;
 }
 
@@ -1563,7 +1561,7 @@ in_moc_16,2,1,0	script	Beholder#ASNTEST2	139,{
 	end;
 
 OnInit:
-	hideonnpc "Beholder#ASNTEST2";
+	disablenpc "Beholder#ASNTEST2";
 	end;
 
 OnReset:
@@ -1571,11 +1569,11 @@ OnReset:
 	end;
 
 OnDisable:
-	hideonnpc "Beholder#ASNTEST2";
+	disablenpc "Beholder#ASNTEST2";
 	end;
 
 OnEnable:
-	hideoffnpc "Beholder#ASNTEST2";
+	enablenpc "Beholder#ASNTEST2";
 	monster "in_moc_16",62,161,"Job change creature",1063,1,"Beholder#ASNTEST2::OnMyMobDead";
 	monster "in_moc_16",85,169,"Job change creature",1031,1,"Beholder#ASNTEST2::OnMyMobDead";
 	monster "in_moc_16",79,174,"Job change creature",1113,1,"Beholder#ASNTEST2::OnMyMobDead";
@@ -1636,177 +1634,177 @@ OnTouch:
 	end;
 
 OnEnable:
-	hideoffnpc "01_1";
-	hideoffnpc "01_2";
-	hideoffnpc "01_3";
-	hideoffnpc "01_4";
-	hideoffnpc "02_1";
-	hideoffnpc "02_2";
-	hideoffnpc "02_3";
-	hideoffnpc "02_4";
-	hideoffnpc "03_1";
-	hideoffnpc "03_2";
-	hideoffnpc "03_3";
-	hideoffnpc "03_4";
-	hideoffnpc "04_1";
-	hideoffnpc "04_2";
-	hideoffnpc "04_3";
-	hideoffnpc "04_4";
-	hideoffnpc "05_1";
-	hideoffnpc "05_2";
-	hideoffnpc "05_3";
-	hideoffnpc "05_4";
-	hideoffnpc "06_1";
-	hideoffnpc "06_2";
-	hideoffnpc "06_3";
-	hideoffnpc "06_4";
-	hideoffnpc "07_1";
-	hideoffnpc "07_2";
-	hideoffnpc "07_3";
-	hideoffnpc "07_4";
-	hideoffnpc "08_1";
-	hideoffnpc "08_2";
-	hideoffnpc "08_3";
-	hideoffnpc "08_4";
-	hideoffnpc "09_1";
-	hideoffnpc "09_2";
-	hideoffnpc "09_3";
-	hideoffnpc "09_4";
-	hideoffnpc "10_1";
-	hideoffnpc "10_2";
-	hideoffnpc "10_3";
-	hideoffnpc "10_4";
-	hideoffnpc "10_5";
-	hideoffnpc "10_6";
-	hideoffnpc "10_7";
-	hideoffnpc "10_8";
-	hideoffnpc "11_1";
-	hideoffnpc "11_2";
-	hideoffnpc "11_3";
-	hideoffnpc "11_4";
-	hideoffnpc "12_1";
-	hideoffnpc "12_2";
-	hideoffnpc "12_3";
-	hideoffnpc "12_4";
-	hideoffnpc "13_1";
-	hideoffnpc "13_2";
-	hideoffnpc "13_3";
-	hideoffnpc "13_4";
-	hideoffnpc "14_1";
-	hideoffnpc "14_2";
-	hideoffnpc "14_3";
-	hideoffnpc "14_4";
-	hideoffnpc "14_5";
-	hideoffnpc "14_6";
-	hideoffnpc "14_7";
-	hideoffnpc "14_8";
-	hideoffnpc "14_9";
-	hideoffnpc "14_10";
-	hideoffnpc "14_11";
-	hideoffnpc "14_12";
-	hideoffnpc "15_1";
-	hideoffnpc "15_2";
-	hideoffnpc "15_3";
-	hideoffnpc "15_4";
-	hideoffnpc "16_1";
-	hideoffnpc "16_2";
-	hideoffnpc "16_3";
-	hideoffnpc "16_4";
-	hideoffnpc "17_1";
-	hideoffnpc "17_2";
-	hideoffnpc "17_3";
-	hideoffnpc "17_4";
-	hideoffnpc "18_1";
-	hideoffnpc "18_2";
-	hideoffnpc "18_3";
-	hideoffnpc "18_4";
+	enablenpc "01_1";
+	enablenpc "01_2";
+	enablenpc "01_3";
+	enablenpc "01_4";
+	enablenpc "02_1";
+	enablenpc "02_2";
+	enablenpc "02_3";
+	enablenpc "02_4";
+	enablenpc "03_1";
+	enablenpc "03_2";
+	enablenpc "03_3";
+	enablenpc "03_4";
+	enablenpc "04_1";
+	enablenpc "04_2";
+	enablenpc "04_3";
+	enablenpc "04_4";
+	enablenpc "05_1";
+	enablenpc "05_2";
+	enablenpc "05_3";
+	enablenpc "05_4";
+	enablenpc "06_1";
+	enablenpc "06_2";
+	enablenpc "06_3";
+	enablenpc "06_4";
+	enablenpc "07_1";
+	enablenpc "07_2";
+	enablenpc "07_3";
+	enablenpc "07_4";
+	enablenpc "08_1";
+	enablenpc "08_2";
+	enablenpc "08_3";
+	enablenpc "08_4";
+	enablenpc "09_1";
+	enablenpc "09_2";
+	enablenpc "09_3";
+	enablenpc "09_4";
+	enablenpc "10_1";
+	enablenpc "10_2";
+	enablenpc "10_3";
+	enablenpc "10_4";
+	enablenpc "10_5";
+	enablenpc "10_6";
+	enablenpc "10_7";
+	enablenpc "10_8";
+	enablenpc "11_1";
+	enablenpc "11_2";
+	enablenpc "11_3";
+	enablenpc "11_4";
+	enablenpc "12_1";
+	enablenpc "12_2";
+	enablenpc "12_3";
+	enablenpc "12_4";
+	enablenpc "13_1";
+	enablenpc "13_2";
+	enablenpc "13_3";
+	enablenpc "13_4";
+	enablenpc "14_1";
+	enablenpc "14_2";
+	enablenpc "14_3";
+	enablenpc "14_4";
+	enablenpc "14_5";
+	enablenpc "14_6";
+	enablenpc "14_7";
+	enablenpc "14_8";
+	enablenpc "14_9";
+	enablenpc "14_10";
+	enablenpc "14_11";
+	enablenpc "14_12";
+	enablenpc "15_1";
+	enablenpc "15_2";
+	enablenpc "15_3";
+	enablenpc "15_4";
+	enablenpc "16_1";
+	enablenpc "16_2";
+	enablenpc "16_3";
+	enablenpc "16_4";
+	enablenpc "17_1";
+	enablenpc "17_2";
+	enablenpc "17_3";
+	enablenpc "17_4";
+	enablenpc "18_1";
+	enablenpc "18_2";
+	enablenpc "18_3";
+	enablenpc "18_4";
 	end;
 
 OnDisable:
-	hideonnpc "01_1";
-	hideonnpc "01_2";
-	hideonnpc "01_3";
-	hideonnpc "01_4";
-	hideonnpc "02_1";
-	hideonnpc "02_2";
-	hideonnpc "02_3";
-	hideonnpc "02_4";
-	hideonnpc "03_1";
-	hideonnpc "03_2";
-	hideonnpc "03_3";
-	hideonnpc "03_4";
-	hideonnpc "04_1";
-	hideonnpc "04_2";
-	hideonnpc "04_3";
-	hideonnpc "04_4";
-	hideonnpc "05_1";
-	hideonnpc "05_2";
-	hideonnpc "05_3";
-	hideonnpc "05_4";
-	hideonnpc "06_1";
-	hideonnpc "06_2";
-	hideonnpc "06_3";
-	hideonnpc "06_4";
-	hideonnpc "07_1";
-	hideonnpc "07_2";
-	hideonnpc "07_3";
-	hideonnpc "07_4";
-	hideonnpc "08_1";
-	hideonnpc "08_2";
-	hideonnpc "08_3";
-	hideonnpc "08_4";
-	hideonnpc "09_1";
-	hideonnpc "09_2";
-	hideonnpc "09_3";
-	hideonnpc "09_4";
-	hideonnpc "10_1";
-	hideonnpc "10_2";
-	hideonnpc "10_3";
-	hideonnpc "10_4";
-	hideonnpc "10_5";
-	hideonnpc "10_6";
-	hideonnpc "10_7";
-	hideonnpc "10_8";
-	hideonnpc "11_1";
-	hideonnpc "11_2";
-	hideonnpc "11_3";
-	hideonnpc "11_4";
-	hideonnpc "12_1";
-	hideonnpc "12_2";
-	hideonnpc "12_3";
-	hideonnpc "12_4";
-	hideonnpc "13_1";
-	hideonnpc "13_2";
-	hideonnpc "13_3";
-	hideonnpc "13_4";
-	hideonnpc "14_1";
-	hideonnpc "14_2";
-	hideonnpc "14_3";
-	hideonnpc "14_4";
-	hideonnpc "14_5";
-	hideonnpc "14_6";
-	hideonnpc "14_7";
-	hideonnpc "14_8";
-	hideonnpc "14_9";
-	hideonnpc "14_10";
-	hideonnpc "14_11";
-	hideonnpc "14_12";
-	hideonnpc "15_1";
-	hideonnpc "15_2";
-	hideonnpc "15_3";
-	hideonnpc "15_4";
-	hideonnpc "16_1";
-	hideonnpc "16_2";
-	hideonnpc "16_3";
-	hideonnpc "16_4";
-	hideonnpc "17_1";
-	hideonnpc "17_2";
-	hideonnpc "17_3";
-	hideonnpc "17_4";
-	hideonnpc "18_1";
-	hideonnpc "18_2";
-	hideonnpc "18_3";
-	hideonnpc "18_4";
+	disablenpc "01_1";
+	disablenpc "01_2";
+	disablenpc "01_3";
+	disablenpc "01_4";
+	disablenpc "02_1";
+	disablenpc "02_2";
+	disablenpc "02_3";
+	disablenpc "02_4";
+	disablenpc "03_1";
+	disablenpc "03_2";
+	disablenpc "03_3";
+	disablenpc "03_4";
+	disablenpc "04_1";
+	disablenpc "04_2";
+	disablenpc "04_3";
+	disablenpc "04_4";
+	disablenpc "05_1";
+	disablenpc "05_2";
+	disablenpc "05_3";
+	disablenpc "05_4";
+	disablenpc "06_1";
+	disablenpc "06_2";
+	disablenpc "06_3";
+	disablenpc "06_4";
+	disablenpc "07_1";
+	disablenpc "07_2";
+	disablenpc "07_3";
+	disablenpc "07_4";
+	disablenpc "08_1";
+	disablenpc "08_2";
+	disablenpc "08_3";
+	disablenpc "08_4";
+	disablenpc "09_1";
+	disablenpc "09_2";
+	disablenpc "09_3";
+	disablenpc "09_4";
+	disablenpc "10_1";
+	disablenpc "10_2";
+	disablenpc "10_3";
+	disablenpc "10_4";
+	disablenpc "10_5";
+	disablenpc "10_6";
+	disablenpc "10_7";
+	disablenpc "10_8";
+	disablenpc "11_1";
+	disablenpc "11_2";
+	disablenpc "11_3";
+	disablenpc "11_4";
+	disablenpc "12_1";
+	disablenpc "12_2";
+	disablenpc "12_3";
+	disablenpc "12_4";
+	disablenpc "13_1";
+	disablenpc "13_2";
+	disablenpc "13_3";
+	disablenpc "13_4";
+	disablenpc "14_1";
+	disablenpc "14_2";
+	disablenpc "14_3";
+	disablenpc "14_4";
+	disablenpc "14_5";
+	disablenpc "14_6";
+	disablenpc "14_7";
+	disablenpc "14_8";
+	disablenpc "14_9";
+	disablenpc "14_10";
+	disablenpc "14_11";
+	disablenpc "14_12";
+	disablenpc "15_1";
+	disablenpc "15_2";
+	disablenpc "15_3";
+	disablenpc "15_4";
+	disablenpc "16_1";
+	disablenpc "16_2";
+	disablenpc "16_3";
+	disablenpc "16_4";
+	disablenpc "17_1";
+	disablenpc "17_2";
+	disablenpc "17_3";
+	disablenpc "17_4";
+	disablenpc "18_1";
+	disablenpc "18_2";
+	disablenpc "18_3";
+	disablenpc "18_4";
 	end;
 }
 
@@ -1911,15 +1909,15 @@ OnTouch:
 
 OnEnable:
 	mapannounce "in_moc_16","The door to the next room, at coordinates 87 137, has opened.",bc_map;
-	hideoffnpc "Keeper of the Door#ASN";
+	enablenpc "Keeper of the Door#ASN";
 	end;
 
 OnDisable:
-	hideonnpc "Keeper of the Door#ASN";
+	disablenpc "Keeper of the Door#ASN";
 	end;
 
 OnInit:
-	hideonnpc "Keeper of the Door#ASN";
+	disablenpc "Keeper of the Door#ASN";
 	end;
 }
 
@@ -1953,33 +1951,31 @@ OnTouch:
 		mes "It looks like you're having a tough time. You're either trying too hard, or not trying hard";
 		mes "enough, kid.";
 		next;
-		switch (select("I'm gonna try it again!:I... I quit!")) {
-		case 1:
+		if (select("I'm gonna try it again!:I... I quit!") == 1) {
 			mes "[Thomas]";
 			mes "Hmm. Well, okay.";
 			mes "Good luck out there.";
 			close;
-		case 2:
-			mes "[Thomas]";
-			mes "Huh...";
-			mes "Quit the test, eh? Well, I guess you don't wanna waste any more of our time.";
-			next;
-			mes "[Thomas]";
-			mes "Oh hey, don't forget to save your respawn point in town.";
-			close2;
-			mapannounce "in_moc_16"," " + strcharinfo(0) + " got scared and quit the test...Who's Next?!",bc_map;
-			donpcevent "Standby Room#ASNTEST::OnReset";
-			set ASSIN_Q,0;
-			set ASSIN_Q2,0;
-			set ASSIN_Q3,0;
-			erasequest 8000;
-			erasequest 8001;
-			erasequest 8002;
-			erasequest 8003;
-			erasequest 8004;
-			savepoint "in_moc_16",18,14;
-			warp "in_moc_16",18,14;
 		}
+		mes "[Thomas]";
+		mes "Huh...";
+		mes "Quit the test, eh? Well, I guess you don't wanna waste any more of our time.";
+		next;
+		mes "[Thomas]";
+		mes "Oh hey, don't forget to save your respawn point in town.";
+		close2;
+		mapannounce "in_moc_16"," " + strcharinfo(0) + " got scared and quit the test...Who's Next?!",bc_map;
+		donpcevent "Standby Room#ASNTEST::OnReset";
+		set ASSIN_Q,0;
+		set ASSIN_Q2,0;
+		set ASSIN_Q3,0;
+		erasequest 8000;
+		erasequest 8001;
+		erasequest 8002;
+		erasequest 8003;
+		erasequest 8004;
+		savepoint "in_moc_16",18,14;
+		warp "in_moc_16",18,14;
 	} else {
 		mes "[Thomas]";
 		mes "Hey, I'm Thomas. I'm in charge of testing your use of the hiding skill. Think you're up to it?";
@@ -2160,7 +2156,7 @@ OnTouch:
 				mes "[Guildmaster]";
 				mes "Being an Assassin means";
 				mes "to abandon the ego.";
-				next;
+				break;
 			case 2:
 				set ASSIN_Q,9;
 				mes "[Guildmaster]";
@@ -2170,7 +2166,7 @@ OnTouch:
 				mes "Being an Assassin means";
 				mes "to abandon such worldly";
 				mes "attachments...";
-				next;
+				break;
 			case 3:
 				set ASSIN_Q,10;
 				mes "[Guildmaster]";
@@ -2181,7 +2177,7 @@ OnTouch:
 				next;
 				mes "[Guildmaster]";
 				mes "In a way, being an Assassin is to live life in loneliness...";
-				next;
+				break;
 			}
 		case 2:
 			mes "[Guildmaster]";
@@ -2211,12 +2207,12 @@ OnTouch:
 				next;
 				mes "[Guildmaster]";
 				mes "But, as I told you before, we have comrades. I recommend having at least one comrade to back up you when you're on a mission.";
-				next;
+				break;
 			case 2:
 				set ASSIN_Q,12;
 				mes "[Guildmaster]";
 				mes "Well, I can't deny it, we do need money to make a living. But don't you think we should pursue something even more important than money?";
-				next;
+				break;
 			case 3:
 				set ASSIN_Q,13;
 				mes "[Guildmaster]";
@@ -2228,7 +2224,7 @@ OnTouch:
 				mes "[Guildmaster]";
 				mes "Don't forget...";
 				mes "Assassins don't toy around. We are not into a style or trend, and we never will be.";
-				next;
+				break;
 			}
 		case 3:
 			mes "[Guildmaster]";
@@ -2247,7 +2243,7 @@ OnTouch:
 				next;
 				mes "[Guildmaster]";
 				mes "You won't be satisfied in becoming an Assassin if you think this...";
-				next;
+				break;
 			case 2:
 				set ASSIN_Q,15;
 				mes "[Guildmaster]";
@@ -2260,7 +2256,7 @@ OnTouch:
 				mes "It's to bad I had to kill him before he was level 52... ^666666*Sigh*^000000 Oh well.";
 				next;
 				mes "I'm a bit worried about you. I hope you realize that once you become an Assassin, there's no turning back...";
-				next;
+				break;
 			case 3:
 				set ASSIN_Q,16;
 				mes "[Guildmaster]";
@@ -2269,7 +2265,7 @@ OnTouch:
 				next;
 				mes "[Guildmaster]";
 				mes "I hope you're not a hypocrite. Spiritual discipline is the best way for you to survive.";
-				next;
+				break;
 			}
 		}
 		set @assassin_sangdam,0;
@@ -2297,7 +2293,7 @@ OnTouch:
 				mes "[Guildmaster]";
 				mes "Don't act recklessly...";
 				mes "Being an Assassin never makes you a different person. And don't rely on chance.";
-				next;
+				break;
 			case 2:
 				set @assassin_sangdam,@assassin_sangdam + 5;
 				mes "[Guildmaster]";
@@ -2305,7 +2301,7 @@ OnTouch:
 				next;
 				mes "[Guildmaster]";
 				mes "In the meantime, I hope you won't forget the Assassin mentality.";
-				next;
+				break;
 			case 3:
 				set @assassin_sangdam,@assassin_sangdam + 0;
 				mes "[Guildmaster]";
@@ -2315,7 +2311,7 @@ OnTouch:
 				mes "[Guildmaster]";
 				mes "Don't force yourself too much.";
 				mes "Take your time and travel wisely.";
-				next;
+				break;
 			}
 		case 2:
 			mes "[Guildmaster]";
@@ -2328,7 +2324,7 @@ OnTouch:
 				mes "[Guildmaster]";
 				mes "I see...";
 				mes "Appreciate them for caring about you, even when you're alone.";
-				next;
+				break;
 			case 2:
 				set @assassin_sangdam,@assassin_sangdam + 5;
 				mes "[Guildmaster]";
@@ -2337,7 +2333,7 @@ OnTouch:
 				next;
 				mes "[Guildmaster]";
 				mes "As an Assassin, find a job that you can do for them without them knowing..";
-				next;
+				break;
 			case 3:
 				set @assassin_sangdam,@assassin_sangdam + 0;
 				mes "[Guildmaster]";
@@ -2353,7 +2349,7 @@ OnTouch:
 				next;
 				mes "[Guildmaster]";
 				mes "Love your beloved forever, even if you can't openly express it. Sometimes, life doesn't allow you to find true love more than once.";
-				next;
+				break;
 			}
 		case 3:
 			mes "[Guildmaster]";
@@ -2368,7 +2364,7 @@ OnTouch:
 				mes "[Guildmaster]";
 				mes "You must know how to";
 				mes "survive in any situation.";
-				next;
+				break;
 			case 2:
 				set @assassin_sangdam,@assassin_sangdam + 0;
 				mes "[Guildmaster]";
@@ -2376,7 +2372,7 @@ OnTouch:
 				next;
 				mes "[Guildmaster]";
 				mes "I hope you will become an excellent Assassin. And when you reach a certain level, you must guide newbies as your trainers have.";
-				next;
+				break;
 			case 3:
 				set @assassin_sangdam,@assassin_sangdam + 10;
 				mes "[Guildmaster]";
@@ -2385,7 +2381,7 @@ OnTouch:
 				next;
 				mes "[Guildmaster]";
 				mes "People of that nature are unwelcome. If such is your goal, you may wish to reconsider your job...";
-				next;
+				break;
 			}
 		}
 		mes "[Guildmaster]";
@@ -2525,7 +2521,7 @@ OnTouch:
 				mes "A Jur...";
 				mes "Good choice. There you are. I hope it will serve you well.";
 				getitem 1251,1; //Jur_
-				next;
+				break;
 			case 2:
 				mes "[Guildmaster]";
 				mes "A Katar...";
@@ -2534,19 +2530,20 @@ OnTouch:
 				mes "I know it will";
 				mes "serve you well.";
 				getitem 1253,1; //Katar_
-				next;
+				break;
 			case 3:
 				mes "[Guildmaster]";
 				mes "I see. You want to use both hands. Here, take your Main Gauche.";
 				getitem 1208,1; //Main_Gauche_
-				next;
+				break;
 			case 4:
 				mes "[Guildmaster]";
 				mes "A Gladius...";
 				mes "It used to rule over the Assassin weapon market. Please take care of my gladius.";
 				getitem 1220,1; //Gladius_
-				next;
+				break;
 			}
+			next;
 		} else {
 			mes "[Guildmaster]";
 			mes "Well, I talked too much.";
@@ -2730,15 +2727,15 @@ in_moc_16,156,87,1	script	[Huey]	55,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "[Huey]";
+	disablenpc "[Huey]";
 	end;
 
 OnDisable:
-	hideonnpc "[Huey]";
+	disablenpc "[Huey]";
 	end;
 
 OnEnable:
-	hideoffnpc "[Huey]";
+	enablenpc "[Huey]";
 	end;
 }
 
@@ -2746,15 +2743,15 @@ in_moc_16,156,85,1	script	[Khai]	730,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "[Khai]";
+	disablenpc "[Khai]";
 	end;
 
 OnDisable:
-	hideonnpc "[Khai]";
+	disablenpc "[Khai]";
 	end;
 
 OnEnable:
-	hideoffnpc "[Khai]";
+	enablenpc "[Khai]";
 	end;
 }
 
@@ -2762,15 +2759,15 @@ in_moc_16,156,83,1	script	[The Anonymous One]	106,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "[The Anonymous One]";
+	disablenpc "[The Anonymous One]";
 	end;
 
 OnDisable:
-	hideonnpc "[The Anonymous One]";
+	disablenpc "[The Anonymous One]";
 	end;
 
 OnEnable:
-	hideoffnpc "[The Anonymous One]";
+	enablenpc "[The Anonymous One]";
 	end;
 }
 
@@ -2778,15 +2775,15 @@ in_moc_16,156,81,2	script	[Barcardi]	725,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "[Barcardi]";
+	disablenpc "[Barcardi]";
 	end;
 
 OnDisable:
-	hideonnpc "[Barcardi]";
+	disablenpc "[Barcardi]";
 	end;
 
 OnEnable:
-	hideoffnpc "[Barcardi]";
+	enablenpc "[Barcardi]";
 	end;
 }
 
@@ -2794,15 +2791,15 @@ in_moc_16,156,79,1	script	[Beholder]	118,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "[Beholder]";
+	disablenpc "[Beholder]";
 	end;
 
 OnDisable:
-	hideonnpc "[Beholder]";
+	disablenpc "[Beholder]";
 	end;
 
 OnEnable:
-	hideoffnpc "[Beholder]";
+	enablenpc "[Beholder]";
 	end;
 }
 
@@ -2810,15 +2807,15 @@ in_moc_16,156,77,1	script	[Thomas]	118,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "[Thomas]";
+	disablenpc "[Thomas]";
 	end;
 
 OnDisable:
-	hideonnpc "[Thomas]";
+	disablenpc "[Thomas]";
 	end;
 
 OnEnable:
-	hideoffnpc "[Thomas]";
+	enablenpc "[Thomas]";
 	end;
 }
 
@@ -2826,14 +2823,14 @@ in_moc_16,156,75,1	script	[Gayle Maroubitz]	55,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "[Gayle Maroubitz]";
+	disablenpc "[Gayle Maroubitz]";
 	end;
 
 OnDisable:
-	hideonnpc "[Gayle Maroubitz]";
+	disablenpc "[Gayle Maroubitz]";
 	end;
 
 OnEnable:
-	hideoffnpc "[Gayle Maroubitz]";
+	enablenpc "[Gayle Maroubitz]";
 	end;
 }

文件差异内容过多而无法显示
+ 490 - 490
npc/jobs/2-1/hunter.txt


+ 429 - 771
npc/jobs/2-1/knight.txt

@@ -1077,7 +1077,7 @@ prt_in,71,91,0	script	Sir Siracuse	65,{
 		mes "something to";
 		mes "ask me?";
 		next;
-		switch (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) {
+		if (select("Sir Andrew sent me to take your test.:Oh, nothing.") == 1) {
 			mes "[Sir Siracuse]";
 			mes "I see, you've passed the first test. Very well, I'll make some time for you. Let me introduce myself. My name is James Siracuse.";
 			next;
@@ -1728,37 +1728,41 @@ job_knt,89,106,4	script	Windsor Benedict#knt	733,{
 	end;
 
 OnInit:
-	hideonnpc "Windsor Benedict#knt";
+	disablenpc "Windsor Benedict#knt";
 	waitingroom "Waiting Room",20,"Windsor Benedict#knt::OnStartArena",1;
 	enablewaitingroomevent;
 	end;
 
 OnStartArena:
+	killmonster "job_knt", "Knight1::OnMyMobDead";
+	killmonster "job_knt", "Knight2::OnMyMobDead";
+	killmonster "job_knt", "Knight3::OnMyMobDead";
 	warpwaitingpc "job_knt",43,146;
 	donpcevent "Knight1::OnEnable";
 	disablewaitingroomevent;
 	end;
 
-OnEnable:
+OnStart:
 	enablewaitingroomevent;
 	end;
 }
 
-job_knt,1,1,1	script	Knight1	66,{
-	end;
-
+-	script	Knight1	-1,{
 OnInit:
-	hideonnpc "Knight1";
+	disablenpc "Knight1";
 	end;
 
 OnEnable:
-	hideoffnpc "Knight1";
+	enablenpc "Knight1";
 	if (!checkre(0)) {
+		set .MyMobs,12;
 		monster "job_knt",39,150,"Dustiness",1114,1,"Knight1::OnMyMobDead";
 		monster "job_knt",47,150,"Dustiness",1114,1,"Knight1::OnMyMobDead";
 		monster "job_knt",39,142,"Dustiness",1114,1,"Knight1::OnMyMobDead";
 		monster "job_knt",47,142,"Dustiness",1114,1,"Knight1::OnMyMobDead";
 	}
+	else
+		set .MyMobs,8;
 	monster "job_knt",43,137,"Piere",1160,1,"Knight1::OnMyMobDead";
 	monster "job_knt",43,137,"Andre",1095,1,"Knight1::OnMyMobDead";
 	monster "job_knt",43,137,"Deniro",1105,1,"Knight1::OnMyMobDead";
@@ -1770,25 +1774,22 @@ OnEnable:
 	initnpctimer;
 	end;
 
-OnReset:
-	killmonster "job_knt","Knight1::OnMyMobDead";
-	end;
-
 OnDisable:
-	hideonnpc "Knight1";
+	killmonster "job_knt", "Knight1::OnMyMobDead";
+	disablenpc "Knight1";
 	end;
 
 OnMyMobDead:
-	if (mobcount ("job_knt","Knight1::OnMyMobDead") < 1) {
+	set .MyMobs,.MyMobs-1;
+	if (.MyMobs < 1) {
 		mes "[Sir Windsor]";
 		mes "...";
-		close2;
+		next;
 		mes "[Sir Windsor]";
 		mes "...On to";
 		mes "the next level.";
 		close2;
 		warp "job_knt",43,52;
-		donpcevent "Knight1::OnReset";
 		donpcevent "Knight1::OnDisable";
 		donpcevent "Knight2::OnEnable";
 		stopnpctimer;
@@ -1796,55 +1797,31 @@ OnMyMobDead:
 	end;
 
 OnTimer180000:
-	donpcevent "Knight1::OnReset";
+	donpcevent "Knight1::OnDisable";
 	end;
 
 OnTimer181000:
-	donpcevent "Out1::OnEnable";
+	areawarp "job_knt", 24, 126, 63, 165, "prt_in",80,100;
 	end;
 
 OnTimer182000:
-	donpcevent "Out1::OnDisable";
+	stopnpctimer;
 	donpcevent "Knight1::OnDisable";
-	donpcevent "Windsor Benedict#knt::OnEnable";
+	donpcevent "Windsor Benedict#knt::OnStart";
 	end;
 }
 
-job_knt,43,146,0	script	Out1	139,22,22,{
-
-OnTouch:
-	warp "prt_in",80,100;
-	end;
-
+// Test 2 part 2
+//==========================================================
+-	script	Knight2	-1,{
 OnInit:
-	hideonnpc "Out1";
+	disablenpc "Knight2";
 	end;
 
 OnEnable:
-	hideoffnpc "Out1";
-	end;
-
-OnDisable:
-	hideonnpc "Out1";
-	end;
-}
-
-job_knt,1,2,1	script	Knight2	66,{
-	end;
-
-OnInit:
-	hideonnpc "Knight2";
-	end;
-
-OnEnable:
-	hideoffnpc "Knight2";
-	monster "job_knt",53,52,"Frilldora",1119,1,"Knight2::OnMyMobDead";
-	monster "job_knt",34,52,"Frilldora",1119,1,"Knight2::OnMyMobDead";
-	monster "job_knt",58,52,"Drainliar",1111,1,"Knight2::OnMyMobDead";
-	monster "job_knt",58,52,"Drainliar",1111,1,"Knight2::OnMyMobDead";
-	monster "job_knt",29,52,"Drainliar",1111,1,"Knight2::OnMyMobDead";
-	monster "job_knt",29,52,"Drainliar",1111,1,"Knight2::OnMyMobDead";
+	enablenpc "Knight2";
 	if (!checkre(0)) {
+		set .MyMobs,12;
 		monster "job_knt",43,42,"Desert Wolf",1106,1,"Knight2::OnMyMobDead";
 		monster "job_knt",43,62,"Desert Wolf",1106,1,"Knight2::OnMyMobDead";
 		monster "job_knt",60,68,"Anacondaq",1030,1,"Knight2::OnMyMobDead";
@@ -1852,27 +1829,32 @@ OnEnable:
 		monster "job_knt",60,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead";
 		monster "job_knt",27,35,"Anacondaq",1030,1,"Knight2::OnMyMobDead";
 	}
+	else
+		set .MyMobs,6;
+	monster "job_knt",53,52,"Frilldora",1119,1,"Knight2::OnMyMobDead";
+	monster "job_knt",34,52,"Frilldora",1119,1,"Knight2::OnMyMobDead";
+	monster "job_knt",58,52,"Drainliar",1111,1,"Knight2::OnMyMobDead";
+	monster "job_knt",58,52,"Drainliar",1111,1,"Knight2::OnMyMobDead";
+	monster "job_knt",29,52,"Drainliar",1111,1,"Knight2::OnMyMobDead";
+	monster "job_knt",29,52,"Drainliar",1111,1,"Knight2::OnMyMobDead";
 	initnpctimer;
 	end;
 
-OnReset:
-	killmonster "job_knt","Knight2::OnMyMobDead";
-	end;
-
 OnDisable:
-	hideonnpc "Knight2";
+	killmonster "job_knt", "Knight2::OnMyMobDead";
+	disablenpc "Knight2";
 	end;
 
 OnMyMobDead:
-	if (mobcount ("job_knt","Knight2::OnMyMobDead") < 1) {
+	set .MyMobs,.MyMobs-1;
+	if (.MyMobs < 1) {
 		mes "[Sir Windsor]";
 		mes "...Hmm.";
-		close2;
+		next;
 		mes "[Sir Windsor]";
 		mes "...One stage left.";
 		close2;
 		warp "job_knt",143,152;
-		donpcevent "Knight2::OnReset";
 		donpcevent "Knight2::OnDisable";
 		donpcevent "Knight3::OnEnable";
 		stopnpctimer;
@@ -1880,120 +1862,85 @@ OnMyMobDead:
 	end;
 
 OnTimer180000:
-	donpcevent "Knight2::OnReset";
+	donpcevent "Knight2::OnDisable";
 	end;
 
 OnTimer181000:
-	donpcevent "Out2::OnEnable";
+	areawarp "job_knt", 24, 32, 63, 71, "prt_in",80,100;
 	end;
 
 OnTimer182000:
-	donpcevent "Out2::OnDisable";
+	stopnpctimer;
 	donpcevent "Knight2::OnDisable";
-	donpcevent "Windsor Benedict#knt::OnEnable";
-	end;
-}
-
-job_knt,43,52,0	script	Out2	139,22,22,{
-
-OnTouch:
-	warp "prt_in",80,100;
-	end;
-
-OnInit:
-	hideonnpc "Out2";
-	end;
-
-OnEnable:
-	hideoffnpc "Out2";
-	end;
-
-OnDisable:
-	hideonnpc "Out2";
+	donpcevent "Windsor Benedict#knt::OnStart";
 	end;
 }
 
-job_knt,1,3,1	script	Knight3	66,{
-	end;
-
+// Test 2 part 3
+//==========================================================
+-	script	Knight3	-1,{
 OnInit:
-	hideonnpc "Knight3";
+	disablenpc "Knight3";
 	end;
 
 OnEnable:
-	hideoffnpc "Knight3";
+	enablenpc "Knight3";
+	if (!checkre(0)) {
+		set .MyMobs,7;
+		monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead";
+		monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead";
+	}
+	else
+		set .MyMobs,5;
 	monster "job_knt",136,152,"Goblin",1122,1,"Knight3::OnMyMobDead";
 	monster "job_knt",150,152,"Goblin",1123,1,"Knight3::OnMyMobDead";
 	monster "job_knt",143,145,"Goblin",1124,1,"Knight3::OnMyMobDead";
 	monster "job_knt",143,167,"Goblin",1125,1,"Knight3::OnMyMobDead";
 	monster "job_knt",139,167,"Goblin",1126,1,"Knight3::OnMyMobDead";
-	if (!checkre(0)){
-		monster "job_knt",147,167,"Goblin Archer",1258,1,"Knight3::OnMyMobDead";
-		monster "job_knt",136,158,"Steam Goblin",1280,1,"Knight3::OnMyMobDead";
-	}
 	initnpctimer;
 	end;
 
-OnReset:
-	killmonster "job_knt","Knight3::OnMyMobDead";
-	end;
-
 OnDisable:
-	hideonnpc "Knight3";
+	killmonster "job_knt", "Knight3::OnMyMobDead";
+	disablenpc "Knight3";
 	end;
 
 OnMyMobDead:
-	if (mobcount ("job_knt","Knight3::OnMyMobDead") < 1) {
+	set .MyMobs,.MyMobs-1;
+	if (.MyMobs < 1) {
 		mes "[Sir Windsor]";
 		mes "...";
-		close2;
+		next;
 		mes "[Sir Windsor]";
 		mes "...Very good.";
-		close2;
+		next;
 		mes "[Sir Windsor]";
 		mes "...Go talk to";
 		mes "Amy Beatrice now.";
 		close2;
 		set KNIGHT_Q,8;
+		if(checkquest(9007) == -1) {
+			changequest 9006,9007;
+		}
 		warp "prt_in",80,100;
-		donpcevent "Knight3::OnReset";
 		donpcevent "Knight3::OnDisable";
-		donpcevent "Windsor Benedict#knt::OnEnable";
+		donpcevent "Windsor Benedict#knt::OnStart";
 		stopnpctimer;
 	}
 	end;
 
 OnTimer180000:
-	donpcevent "Knight3::OnReset";
+	donpcevent "Knight3::OnDisable";
 	end;
 
 OnTimer181000:
-	donpcevent "Out3::OnEnable";
+	areawarp "job_knt", 124, 132, 163, 171, "prt_in",80,100;
 	end;
 
 OnTimer182000:
-	donpcevent "Out3::OnDisable";
+	stopnpctimer;
 	donpcevent "Knight3::OnDisable";
-	donpcevent "Windsor Benedict#knt::OnEnable";
-	end;
-}
-
-job_knt,143,152,0	script	Out3	139,22,22,{
-
-OnTouch:
-	warp "prt_in",80,100;
-	end;
-
-OnInit:
-	hideonnpc "Out3";
-	end;
-
-OnEnable:
-	hideoffnpc "Out3";
-	end;
-
-OnDisable:
-	hideonnpc "Out3";
+	donpcevent "Windsor Benedict#knt::OnStart";
 	end;
 }
 
@@ -2982,28 +2929,8 @@ OnTimer60150:
 	end;
 
 OnInit:
-	hideoffnpc "Timer#knt";
-	monster "job_knt",141,57,"Poring",1002,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",145,57,"Poring",1002,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",143,55,"Poring",1002,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",143,59,"Poring",1002,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",141,55,"Lunatic",1063,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",141,59,"Lunatic",1063,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",145,55,"Lunatic",1063,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",145,59,"Lunatic",1063,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",139,57,"Chonchon",1011,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",147,57,"Chonchon",1011,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",143,53,"Chonchon",1011,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",143,61,"Chonchon",1011,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
-	initnpctimer;
-	end;
-
 OnEnable:
-	hideoffnpc "Timer#knt";
+	enablenpc "Timer#knt";
 	monster "job_knt",141,57,"Poring",1002,1,"Timer#knt::OnMyMobDead";
 	monster "job_knt",145,57,"Poring",1002,1,"Timer#knt::OnMyMobDead";
 	monster "job_knt",143,55,"Poring",1002,1,"Timer#knt::OnMyMobDead";
@@ -3016,10 +2943,11 @@ OnEnable:
 	monster "job_knt",147,57,"Chonchon",1011,1,"Timer#knt::OnMyMobDead";
 	monster "job_knt",143,53,"Chonchon",1011,1,"Timer#knt::OnMyMobDead";
 	monster "job_knt",143,61,"Chonchon",1011,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",167,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",167,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",120,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
-	monster "job_knt",120,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
+	//These monsters were out of bounds. Adjusted to put them in bounds.
+	monster "job_knt",165,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
+	monster "job_knt",165,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
+	monster "job_knt",122,54,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
+	monster "job_knt",122,57,"Mushroom",1182,1,"Timer#knt::OnMyMobDead";
 	initnpctimer;
 	end;
 
@@ -3037,6 +2965,7 @@ OnMyMobDead:
 }
 
 job_knt,143,57,0	script	Warp#knt	139,22,22,{
+	end;
 
 OnTouch:
 	set KNIGHT_Q,12;
@@ -3045,22 +2974,22 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "Warp#knt";
+	disablenpc "Warp#knt";
 	end;
 
 OnEnable:
-	hideoffnpc "Warp#knt";
+	enablenpc "Warp#knt";
 	end;
 
 OnDisable:
-	hideonnpc "Warp#knt";
+	disablenpc "Warp#knt";
 	end;
 }
 
 prt_in,87,92,4	script	Sir Gray	119,{
-	if ((Class != Job_Baby_Swordman) && (Class != Job_Swordman)) {
-		if (Class == Job_Baby_Knight || Class == Job_Knight) {
-			mes "[Sir Gray]";
+	mes "[Sir Gray]";
+	if (BaseJob != Job_Swordman) {
+		if (BaseJob == Job_Knight) {
 			mes "The glint of light";
 			mes "that shines off this blade cannot be put into words. This is the weapon every Knight must have.";
 			next;
@@ -3070,10 +2999,10 @@ prt_in,87,92,4	script	Sir Gray	119,{
 			mes "Every Knight";
 			mes "would want one!";
 			next;
-			switch (select("About ^3355FFClaymore^000000:Buy Claymore:End Conversation")) {
+			switch(select("About ^3355FFClaymore^000000:Buy Claymore:End Conversation")) {
 			case 1:
 				mes "[Sir Gray]";
-				mes "Claymore, one of the best among the famous swords you can attain in Rune-Midgarts Prontera!! Its value is priceless when considered by a Knight.";
+				mes "Claymore, one of the best among the famous swords you can attain in Rune-Midgarts's Prontera!! Its value is priceless when considered by a Knight.";
 				next;
 				mes "[Sir Gray]";
 				mes "Now, the Prontera Chivalry is making these fabulous Claymores. For Knights, they are only ^3355FF74,000^000000 Zeny.";
@@ -3083,7 +3012,8 @@ prt_in,87,92,4	script	Sir Gray	119,{
 				mes "1 ^3355FFSteel^000000 because of the Claymore's characteristics. If you like, I can create one for you. For the honor of the Prontera Chivalry!";
 				close;
 			case 2:
-				if ((MaxWeight - Weight) < 1800) {
+				set .@now_weight,MaxWeight-Weight;
+				if (.@now_weight < 1800) {
 					mes "[Sir Gray]";
 					mes "Oh no...";
 					mes "It seems that you are carrying too many things. You don't have enough space for a heavy Claymore in your inventory.";
@@ -3094,85 +3024,85 @@ prt_in,87,92,4	script	Sir Gray	119,{
 					mes "your items first.";
 					close;
 				}
-				if ((Zeny > 73999) && (countitem(999) > 0) && (Class == Job_Baby_Knight || Class == Job_Knight || Class == Job_Baby_Swordman || Class == Job_Swordman)) {
-					mes "[Sir Gray]";
-					mes "You are ready!";
-					mes "You must know the";
-					mes "true value of";
-					mes "a Claymore!";
-					mes "I shall make";
-					mes "it right now!!";
-					next;
+				else {
+					if ((Zeny > 73999) && (countitem(999) > 0) && (BaseJob == Job_Knight)) {
+						mes "[Sir Gray]";
+						mes "You are ready!";
+						mes "You must know the";
+						mes "true value of";
+						mes "a Claymore!";
+						mes "I shall make";
+						mes "it right now!!";
+						next;
+						mes "[Sir Gray]";
+						mes "The basics of";
+						mes "making the Claymore";
+						mes "is easy. Watch~!";
+						next;
+						mes "^3355FF*Stir Stir*^000000";
+						mes "^3355FF*Ooncha Ooncha*^000000";
+						next;
+						mes "[Sir Gray]";
+						mes "Okay, it's ready!";
+						mes "Every Knight's pride:";
+						mes "a fine ^3355FFClaymore^000000.";
+						mes "You attained a reliable item.";
+						mes "It'll be a good companion on your adventures.";
+						delitem 999,1; //Steel
+						set Zeny, Zeny - 74000;
+						getitem 1163,1; //Claymore
+						close;
+					}
 					mes "[Sir Gray]";
-					mes "The basics of";
-					mes "making the Claymore";
-					mes "is easy. Watch~!";
-					next;
-					mes "^3355FF*Stir Stir*^000000";
-					mes "^3355FF*Ooncha Ooncha*^000000";
+					mes "I realize you may really want a Claymore, but I can't make it without the materials.";
+					mes "^3355FF74,000 zeny^000000 and ^3355FF1 Steel!^000000.";
 					next;
 					mes "[Sir Gray]";
-					mes "Okay, it's ready!";
-					mes "Every Knight's pride:";
-					mes "a fine ^3355FFClaymore^000000.";
-					mes "You attained a reliable item.";
-					mes "It'll be a good companion on your adventures.";
-					delitem 999,1; //Steel
-					set Zeny, Zeny - 74000;
-					getitem 1163,1; //Claymore
+					mes "Come back when";
+					mes "you have everything";
+					mes "ready. I shall be";
+					mes "waiting...";
 					close;
 				}
-				mes "[Sir Gray]";
-				mes "I realize you may really want a Claymore, but I can't make it without the materials.";
-				mes "^3355FF74,000 zeny^000000 and ^3355FF1 Steel!^000000.";
-				next;
-				mes "[Sir Gray]";
-				mes "Come back when";
-				mes "you have everything";
-				mes "ready. I shall be";
-				mes "waiting...";
-				close;
 			case 3:
 				mes "[Sir Gray]";
 				mes "Any Knight should be able to wield a Claymore as if it were an extension of their body. I used to look forward to brandishing my Claymore in battle...";
 				close;
 			}
-			if (Class == Job_Baby || Class == Job_Novice) {
-				mes "[Sir Gray]";
-				mes "Believe it";
-				mes "or not, I was";
-				mes "once a Novice";
-				mes "as well.";
-				next;
-				mes "[Sir Gray]";
-				mes "I never really planned to become a Knight, but I did decide to become a strong person. Somehow, along my journeys, I ended up joining the Prontera Chivalry. Ha ha ha!";
-				close;
-			}
-			mes "[Sir Gray]";
-			mes "Young one,";
-			mes "use your time";
-			mes "wisely.";
-			next;
-			mes "[Sir Gray]";
-			mes "No point in";
-			mes "harboring regret";
-			mes "once time has passed.";
-			close;
 		}
-		if (KNIGHT_Q == 0) {
-			mes "[Sir Gray]";
-			mes "Young one,";
-			mes "use your time";
-			mes "wisely.";
+		else if (BaseClass == Job_Novice) {
+			mes "Believe it";
+			mes "or not, I was";
+			mes "once a Novice";
+			mes "as well.";
 			next;
 			mes "[Sir Gray]";
-			mes "No point in";
-			mes "harboring regret";
-			mes "once time has passed.";
+			mes "I never really planned to become a Knight, but I did decide to become a strong person. Somehow, along my journeys, I ended up joining the Prontera Chivalry. Ha ha ha!";
 			close;
 		}
+		mes "Young one,";
+		mes "use your time";
+		mes "wisely.";
+		next;
+		mes "[Sir Gray]";
+		mes "No point in";
+		mes "harboring regret";
+		mes "once time has passed.";
+		close;
+	}
+	if (KNIGHT_Q == 0) {
+		mes "Young one,";
+		mes "use your time";
+		mes "wisely.";
+		next;
+		mes "[Sir Gray]";
+		mes "No point in";
+		mes "harboring regret";
+		mes "once time has passed.";
+		close;
+	}
+	else if ((KNIGHT_Q == 12) || (KNIGHT_Q == 13)) {
 		if (KNIGHT_Q == 12) {
-			mes "[Sir Gray]";
 			mes "Oh...";
 			mes "A young Swordman.";
 			mes "Yes, what can";
@@ -3185,7 +3115,6 @@ prt_in,87,92,4	script	Sir Gray	119,{
 				mes "everyone else's";
 				mes "test?";
 				next;
-				set @knight_t, 0;
 				mes "[Sir Gray]";
 				mes "Then shall";
 				mes "we begin mine?";
@@ -3203,287 +3132,14 @@ prt_in,87,92,4	script	Sir Gray	119,{
 				mes "decide to become";
 				mes "a Knight?";
 				next;
-				switch (select("To become stronger...:To help my guild...:Because I'm unsatisfied with myself right now...")) {
-				case 1:
-					mes "[Sir Gray]";
-					mes "To become stronger, you say?";
-					mes "Yes, Knights are indeed strong.";
-					mes "But why gain strength?";
-					next;
-					mes "[Sir Gray]";
-					mes "Is it to show off to others? To attain fame? Or do you have a diferent reason? What do you think is so good about gaining strength as a Knight?";
-					next;
-					switch (select("Gain wealth and fame.:I can protect myself.:I can protect others.")) {
-					case 1:
-						set @knight_t, @knight_t + 10;
-						mes "[Sir Gray]";
-						mes "Of course, wealth and fame have their place in the world. But we as Knights must live for higher virtues.";
-						next;
-						break;
-					case 2:
-						mes "[Sir Gray]";
-						mes "Good thinking. You must first be able to protect yourself in order to protect others. To this end, you must constantly train, and never give in to laziness.";
-						next;
-						break;
-					case 3:
-						mes "[Sir Gray]";
-						mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
-						next;
-						mes "[Sir Gray]";
-						mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
-						next;
-						break;
-					}
-				case 2:
-					mes "[Sir Gray]";
-					mes "Ah, to help your guild, or maybe even your party. Our wise and benevolent King Tristram the 3rd gave us these golden words...";
-					next;
-					mes "[Sir Gray]";
-					mes "^8B7500Beyond the calm river, lies a dangerous waterfall. Therefore, you must always be prepared for everything...^000000";
-					next;
-					mes "[Sir Gray]";
-					mes "So how do you";
-					mes "think you can";
-					mes "help your guild?";
-					next;
-					switch (select("My guild needs me.:I can help gather funds for my guild.:I can protect my guild members.")) {
-					case 1:
-						mes "[Sir Gray]";
-						mes "Anyone, anywhere in this world,";
-						mes "has a place where they are needed. Never neglect someone in need, even if he is not a guild member.";
-						next;
-						break;
-					case 2:
-						set @knight_t, @knight_t + 10;
-						mes "[Sir Gray]";
-						mes "Of course wealth is important.";
-						mes "But we Knights must live for higher virtues.";
-						next;
-						break;
-					case 3:
-						mes "[Sir Gray]";
-						mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
-						next;
-						mes "[Sir Gray]";
-						mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
-						next;
-						break;
-					}
-				case 3:
-					set @knight_t, @knight_t + 5;
-					mes "[Sir Gray]";
-					mes "Satisfaction, you say.";
-					mes "It seems like you are";
-					mes "already a fine Swordman.";
-					mes "Is there a particular reason you wish to be a Knight?";
-					next;
-					mes "[Sir Gray]";
-					mes "I don't know about";
-					mes "Swordmen, but Knights do not allow self-indulgence. There are those so obsessed with gaining strength that they cannot control themselves.";
-					next;
-					mes "[Sir Gray]";
-					mes "So...";
-					mes "What part of yourself";
-					mes "are you not satisfied";
-					mes "with right now?";
-					next;
-					switch (select("Skills.:Goal.:Appearance.")) {
-					case 1:
-						set @knight_t, @knight_t + 5;
-						mes "[Sir Gray]";
-						mes "Skill is something you gain with experience as a Knight. It cannot be your highest goal. Otherwise, you'll never be satisfied as a Knight.";
-						next;
-						break;
-					case 2:
-						set @knight_t, @knight_t - 5;
-						mes "[Sir Gray]";
-						mes "I see...";
-						mes "Always having a goal is very important. You may be full of ideas upon becoming a Knight, but that may change with time.";
-						next;
-						break;
-					case 3:
-						set @knight_t, @knight_t + 5;
-						mes "[Sir Gray]";
-						mes "Oh no...";
-						mes "What you see isn't what really counts. A Swordman may be stronger than a Knight, and even Knight may grow weak if he becomes lazy.";
-						next;
-						break;
-					}
-				}
-				mes "[Sir Gray]";
-				mes "I understand your thoughts,";
-				mes "but there are those who wish to";
-				mes "become Knights without thinking.";
-				next;
-				mes "[Sir Gray]";
-				mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results.";
-				next;
-				mes "[Sir Gray]";
-				mes "The same goes for you as well. Once you become a Knight, you can never become a Swordman again. The duties and responsibilities of a Knight will always be with you.";
-				next;
-				mes "[Sir Gray]";
-				mes "If you become a Knight right away, what are you going to do first?";
-				next;
-				switch (select("I am going to go straight to battle.:There are those waiting for me.:I will learn more about Knights.")) {
-				case 1:
-					mes "[Sir Gray]";
-					mes "Battle...?";
-					mes "And then?";
-					next;
-					switch (select("I will grow within a short period of time.:I would like to test my ability as a Knight.:I would like to go to more challenging places.")) {
-					case 1:
-						set @knight_t, @knight_t + 10;
-						mes "[Sir Gray]";
-						mes "Don't be in too much of a hurry to become strong. Even if you become";
-						mes "a Knight, you are still yourself.";
-						next;
-						break;
-					case 2:
-						mes "[Sir Gray]";
-						mes "Testing yourself is a good thing. It's okay to be happy about how you change, but don't forget about the true qualities of being a Knight.";
-						next;
-						break;
-					case 3:
-						mes "[Sir Gray]";
-						mes "Even if you become a Knight, you are not changing your inner self. No need to overwork yourself.";
-						mes "Relax and take things step by step.";
-						next;
-						break;
-					}
-				case 2:
-					mes "[Sir Gray]";
-					mes "Who is";
-					mes "waiting for you?";
-					next;
-					switch (select("My friends.:My Guild members.:My Lover.")) {
-					case 1:
-						mes "[Sir Gray]";
-						mes "I see, they would share in the joy of your achievements. Don't ever lose your kind heart, and always give help to your friends.";
-						next;
-						break;
-					case 2:
-						mes "[Sir Gray]";
-						mes "Those who would share in your happiness and hardship. As a Knight, you must always protect them.";
-						next;
-						break;
-					case 3:
-						mes "[Sir Gray]";
-						mes "Oh, youth!";
-						mes "Becoming a Knight";
-						mes "for your beloved!";
-						if (Sex == 1) {
-							mes "Always protect her...";
-							mes "Even at the sacrifice";
-							mes "of your own life!";
-						}
-						else {
-							mes "Always protect him...";
-							mes "Even at the sacrifice";
-							mes "of your own life!";
-						}
-						next;
-						mes "[Sir Gray]";
-						mes "Also...";
-						mes "Love them forever.";
-						mes "Sincere affection";
-						mes "is hard to find.";
-						next;
-						break;
-					}
-				case 3:
-					mes "[Sir Gray]";
-					mes "Good attitude...";
-					mes "What do you plan";
-					mes "on learning?";
-					next;
-					switch (select("Comfortable places for Knights to go...:The different paths of a Knight...:Ways to get more money as a Knight...")) {
-					case 1:
-						set @knight_t, @knight_t + 5;
-						mes "[Sir Gray]";
-						mes "There are many places that are comfortable or uncomfortable in this world. However Knights must";
-						mes "be able to survive anywhere.";
-						next;
-						break;
-					case 2:
-						mes "[Sir Gray]";
-						mes "There are many similar Knights outside in the world. Think of them as your seniors and ask many questions.";
-						next;
-						break;
-					case 3:
-						set @knight_t, @knight_t + 15;
-						mes "[Sir Gray]";
-						mes "Oh no. Do you hold wealth as a priority of being a Knight? We're not meant to be that way. Come again when you have thought";
-						mes "more about it...";
-						next;
-						break;
-					}
-				}
-				mes "[Sir Gray]";
-				mes "Oh no, we've been";
-				mes "talking too much...";
-				mes "I apologize for";
-				mes "keeping you here";
-				mes "for so long.";
-				next;
-				if (@knight_t == 0) {
-					set KNIGHT_Q,14;
-					mes "[Sir Gray]";
-					mes "I enjoyed talking with you. You remind me of myself as a young recruit. Shall we talk to the captain and decide on your";
-					mes "job change?";
-					next;
-					mes "[Sir Gray]";
-					mes "Don't worry too";
-					mes "much, I have a very";
-					mes "high opinion of you.";
-					mes "Now, go~";
-					close;
-				}
-				if (@knight_t == 5) {
-					set KNIGHT_Q,14;
-					mes "[Sir Gray]";
-					mes "I enjoyed speaking with you. You can think about the principles of Knighthood more once you become a Knight.";
-					next;
-					mes "[Sir Gray]";
-					mes "Then, shall we go to the captain and decide on your job change? Don't worry too much. You are good enough to be a Knight!";
-					close;
-				}
-				if (@knight_t == 10) {
-					set KNIGHT_Q,14;
-					mes "[Sir Gray]";
-					mes "I enjoyed talking with you. Although, there were some";
-					mes "things that bothered me...";
-					next;
-					mes "[Sir Gray]";
-					mes "You should go";
-					mes "to the captain";
-					mes "so we can decide";
-					mes "on your job change.";
-					next;
-					mes "[Sir Gray]";
-					mes "Don't worry too much, coming to take my test means the others have acknowledged you as well.";
-					mes "Go now...!";
-					close;
-				}
-				set KNIGHT_Q,13;
-				mes "[Sir Gray]";
-				mes "Conversing";
-				mes "with young ones";
-				mes "is always enjoyable...";
-				next;
-				mes "[Sir Gray]";
-				mes "But it seems as though your dream is elsewhere, or that your focus is hazy. Spend more time as a Swordman, and come back";
-				mes "to me later.";
-				next;
+			}
+			else {
 				mes "[Sir Gray]";
-				mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see.";
+				mes "Take care!";
 				close;
 			}
-			mes "[Sir Gray]";
-			mes "Take care!";
-			close;
 		}
-		if (KNIGHT_Q == 13) {
-			mes "[Sir Gray]";
+		else if (KNIGHT_Q == 13) {
 			mes "Ah, you again.";
 			mes "What brings you";
 			mes "to me?";
@@ -3494,7 +3150,6 @@ prt_in,87,92,4	script	Sir Gray	119,{
 				mes "I wonder if you";
 				mes "truly have...";
 				next;
-				set @knight_t, 0;
 				mes "[Sir Gray]";
 				mes "Then...";
 				mes "Like last time,";
@@ -3506,303 +3161,306 @@ prt_in,87,92,4	script	Sir Gray	119,{
 				mes "decide to become";
 				mes "a Knight?";
 				next;
-				switch (select("To become stronger...:To help my guild...:Because I'm unsatisfied with myself right now...")) {
-				case 1:
-					mes "[Sir Gray]";
-					mes "To become stronger, you say?";
-					mes "Yes, Knights are indeed strong.";
-					mes "But why gain strength?";
-					next;
-					mes "[Sir Gray]";
-					mes "Is it to show off to others?";
-					mes "To attain fame? Or do you have a diferent reason? What do you think is so good about gaining strength as a Knight?";
-					next;
-					switch (select("Gain wealth and fame.:I can protect myself.:I can protect others.")) {
-					case 1:
-						set @knight_t, @knight_t + 10;
-						mes "[Sir Gray]";
-						mes "Of course, wealth and fame have their place in the world. But we as Knights must live for higher virtues.";
-						next;
-						break;
-					case 2:
-						mes "[Sir Gray]";
-						mes "Good thinking. You must first be able to protect yourself in order to protect others. To this end, you must constantly train, and never give in to laziness.";
-						next;
-						break;
-					case 3:
-						mes "[Sir Gray]";
-						mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
-						next;
-						mes "[Sir Gray]";
-						mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
-						next;
-						break;
-					}
-				case 2:
-					mes "[Sir Gray]";
-					mes "Ah, to help your guild, or maybe even your party. Our wise and benevolent King Tristram the 3rd gave us these golden words...";
-					next;
-					mes "[Sir Gray]";
-					mes "^8B7500Beyond the calm river, lies a dangerous waterfall. Therefore, you must always be prepared for everything...^000000";
-					next;
-					mes "[Sir Gray]";
-					mes "So how do you";
-					mes "think you can";
-					mes "help your guild?";
-					next;
-					switch (select("My guild needs me.:I can help gather funds for my guild.:I can protect my guild members.")) {
-					case 1:
-						mes "[Sir Gray]";
-						mes "Anyone, anywhere in this world,";
-						mes "has a place where they are needed. Never neglect someone in need, even if he is not a guild member.";
-						next;
-						break;
-					case 2:
-						set @knight_t, @knight_t + 10;
-						mes "[Sir Gray]";
-						mes "Of course wealth is important.";
-						mes "But we Knights must live for higher virtues.";
-						next;
-						break;
-					case 3:
-						mes "[Sir Gray]";
-						mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
-						next;
-						mes "[Sir Gray]";
-						mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
-						next;
-						break;
-					}
-				case 3:
-					set @knight_t, @knight_t + 5;
-					mes "[Sir Gray]";
-					mes "Satisfaction, you say.";
-					mes "It seems like you are";
-					mes "already a fine Swordman.";
-					mes "Is there a particular reason you wish to be a Knight?";
-					next;
-					mes "[Sir Gray]";
-					mes "I don't know about";
-					mes "Swordmen but Knights do not allow self-indulgence. There are those so obsessed with gaining strength that they cannot control themselves.";
-					next;
-					mes "[Sir Gray]";
-					mes "So...";
-					mes "What part of yourself";
-					mes "are you not satisfied";
-					mes "with right now?";
-					next;
-					switch (select("Skills.:Goal.:Appearance.")) {
-					case 1:
-						set @knight_t, @knight_t + 5;
-						mes "[Sir Gray]";
-						mes "Skill is something you gain with experience as a Knight. It cannot be your highest goal. Otherwise, you'll never be satisfied as a Knight.";
-						next;
-						break;
-					case 2:
-						set @knight_t, @knight_t - 5;
-						mes "[Sir Gray]";
-						mes "I see...";
-						mes "Always having a goal is very important. You may be full of ideas upon becoming a Knight, but that may change with time.";
-						next;
-						break;
-					case 3:
-						set @knight_t, @knight_t + 5;
-						mes "[Sir Gray]";
-						mes "Oh no...";
-						mes "What you see isn't what really counts. A Swordman may be stronger than a Knight, and even Knight may grow weak if he becomes lazy.";
-						next;
-						break;
-					}
-				}
+			}
+			else {
+				mes "[Sir Gray]";
+				mes "Take care!";
+				mes "Health is";
+				mes "every man's";
+				mes "treasure!";
+				close;
+			}
+		}
+		switch(select("To become stronger...:To help my guild...:Because I'm unsatisfied with myself right now...")) {
+		case 1:
+			mes "[Sir Gray]";
+			mes "To become stronger, you say?";
+			mes "Yes, Knights are indeed strong.";
+			mes "But why gain strength?";
+			next;
+			mes "[Sir Gray]";
+			mes "Is it to show off to others? To attain fame? Or do you have a diferent reason? What do you think is so good about gaining strength as a Knight?";
+			next;
+			switch(select("Gain wealth and fame.:I can protect myself.:I can protect others.")) {
+			case 1:
+				set .@knight_t,.@knight_t+10;
 				mes "[Sir Gray]";
-				mes "I understand your thoughts,";
-				mes "but there are those who wish to";
-				mes "become Knights without thinking.";
+				mes "Of course, wealth and fame have their place in the world. But we as Knights must live for higher virtues.";
 				next;
+				break;
+			case 2:
 				mes "[Sir Gray]";
-				mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results.";
+				mes "Good thinking. You must first be able to protect yourself in order to protect others. To this end, you must constantly train, and never give in to laziness.";
 				next;
+				break;
+			case 3:
 				mes "[Sir Gray]";
-				mes "The same goes for you as well. Once you become a Knight, you can never become a Swordman again. The duties and responsibilities of a Knight will always be with you.";
+				mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
 				next;
 				mes "[Sir Gray]";
-				mes "If you become a Knight right away, what are you going to do first?";
+				mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
 				next;
-				switch (select("I am going to go straight to battle.:There are those waiting for me.:I will learn more about Knights.")) {
-				case 1:
-					mes "[Sir Gray]";
-					mes "Battle...?";
-					mes "And then?";
-					next;
-					switch (select("I will grow within a short period of time.:I would like to test my ability as a Knight.:I would like to go to more challenging places.")) {
-					case 1:
-						set @knight_t, @knight_t + 10;
-						mes "[Sir Gray]";
-						mes "Don't be in too much of a hurry to become strong. Even if you become";
-						mes "a Knight, you are still yourself.";
-						next;
-						break;
-					case 2:
-						mes "[Sir Gray]";
-						mes "Testing yourself is a good thing. It's okay to be happy about how you change, but don't forget about the true qualities of being a Knight.";
-						next;
-						break;
-					case 3:
-						mes "[Sir Gray]";
-						mes "Even if you become a Knight, you are not changing your inner self. No need to overwork yourself.";
-						mes "Relax and take things step by step.";
-						next;
-						break;
-					}
-				case 2:
-					mes "[Sir Gray]";
-					mes "Who is";
-					mes "waiting for you?";
-					next;
-					switch (select("My friends.:My Guild members.:My Lover.")) {
-					case 1:
-						mes "[Sir Gray]";
-						mes "I see, they would share in the joy of your achievements. Don't ever lose your kind heart, and always give help to your friends.";
-						next;
-						break;
-					case 2:
-						mes "[Sir Gray]";
-						mes "Those who would share in your happiness and hardship. As a Knight, you must always protect them.";
-						next;
-						break;
-					case 3:
-						mes "[Sir Gray]";
-						mes "Oh, youth!";
-						mes "Becoming a Knight";
-						mes "for your beloved!";
-						if (Sex == 1) {
-							mes "Always protect her...";
-							mes "Even at the sacrifice";
-							mes "of your own life!";
-						}
-						else {
-							mes "Always protect him...";
-							mes "Even at the sacrifice";
-							mes "of your own life!";
-						}
-						next;
-						mes "[Sir Gray]";
-						mes "Also...";
-						mes "Love them forever.";
-						mes "Sincere affection";
-						mes "is hard to find.";
-						next;
-						break;
-					}
-				case 3:
-					mes "[Sir Gray]";
-					mes "Good attitude...";
-					mes "What do you plan";
-					mes "on learning?";
-					next;
-					switch (select("Comfortable places for Knights to go...:The different paths of a Knight...:Ways to get more money as a Knight...")) {
-					case 1:
-						set @knight_t, @knight_t + 5;
-						mes "[Sir Gray]";
-						mes "There are many places that are comfortable or uncomfortable in this world. However Knights must";
-						mes "be able to survive anywhere.";
-						next;
-						break;
-					case 2:
-						mes "[Sir Gray]";
-						mes "There are many similar Knights outside in the world. Think of them as your seniors and ask many questions.";
-						next;
-						break;
-					case 3:
-						set @knight_t, @knight_t + 15;
-						mes "[Sir Gray]";
-						mes "Oh no. Do you hold wealth as a priority of being a Knight? We're not meant to be that way. Come again when you have thought";
-						mes "more about it...";
-						next;
-						break;
-					}
-				}
+				break;
+			}
+			break;
+		case 2:
+			mes "[Sir Gray]";
+			mes "Ah, to help your guild, or maybe even your party. Our wise and benevolent King Tristram the 3rd gave us these golden words...";
+			next;
+			mes "[Sir Gray]";
+			mes "^8B7500Beyond the calm river, lies a dangerous waterfall. Therefore, you must always be prepared for everything...^000000";
+			next;
+			mes "[Sir Gray]";
+			mes "So how do you";
+			mes "think you can";
+			mes "help your guild?";
+			next;
+			switch(select("My guild needs me.:I can help gather funds for my guild.:I can protect my guild members.")) {
+			case 1:
 				mes "[Sir Gray]";
-				mes "Oh no, we've been";
-				mes "talking too much...";
-				mes "I apologize for";
-				mes "keeping you here";
-				mes "for so long.";
+				mes "Anyone, anywhere in this world,";
+				mes "has a place where they are needed. Never neglect someone in need, even if he is not a guild member.";
 				next;
-				if (@knight_t == 0) {
-					set KNIGHT_Q,14;
-					mes "[Sir Gray]";
-					mes "I enjoyed talking with you. You remind me of myself as a young recruit. Shall we talk to the captain and decide on your";
-					mes "job change?";
-					next;
-					mes "[Sir Gray]";
-					mes "Don't worry too";
-					mes "much, I have a very";
-					mes "high opinion of you.";
-					mes "Now, go~";
-					close2;
-				}
-				if (@knight_t == 5) {
-					set KNIGHT_Q,14;
-					mes "[Sir Gray]";
-					mes "I enjoyed speaking with you. You can think about the principles of Knighthood more once you become a Knight.";
-					next;
-					mes "[Sir Gray]";
-					mes "Then, shall we go to the captain and decide on your job change? Don't worry too much. You are good enough to be a Knight!";
-					close;
-				}
-				if (@knight_t == 10) {
-					set KNIGHT_Q,14;
-					mes "[Sir Gray]";
-					mes "I enjoyed talking with you. Although, there were some";
-					mes "things that bothered me...";
-					next;
-					mes "[Sir Gray]";
-					mes "You should go";
-					mes "to the captain";
-					mes "so we can decide";
-					mes "on your job change.";
-					next;
-					mes "[Sir Gray]";
-					mes "Don't worry too much, coming to take my test means the others have acknowledged you as well.";
-					mes "Go now...!";
-					close;
-				}
-				set KNIGHT_Q,13;
+				break;
+			case 2:
+				set .@knight_t,.@knight_t+10;
 				mes "[Sir Gray]";
-				mes "Conversing";
-				mes "with young ones";
-				mes "is always enjoyable...";
+				mes "Of course wealth is important.";
+				mes "But we Knights must live for higher virtues.";
 				next;
+				break;
+			case 3:
 				mes "[Sir Gray]";
-				mes "But it seems as though your dream is elsewhere, or that your focus is hazy. Spend more time as a Swordman, and come back";
-				mes "to me later.";
+				mes "Ah, a wonderful idea. A Knight's strength must be used to protect the weak and defend righteousness.";
 				next;
 				mes "[Sir Gray]";
-				mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see.";
-				close;
+				mes "Sadly, there are a few Knights who shame us by forgetting the ideals that should be basic to Knighthood...";
+				next;
+				break;
 			}
+			break;
+		case 3:
+			set .@knight_t,.@knight_t+5;
 			mes "[Sir Gray]";
-			mes "Take care!";
-			mes "Health is";
-			mes "every man's";
-			mes "treasure!";
+			mes "Satisfaction, you say.";
+			mes "It seems like you are";
+			mes "already a fine Swordman.";
+			mes "Is there a particular reason you wish to be a Knight?";
+			next;
+			mes "[Sir Gray]";
+			mes "I don't know about";
+			mes "Swordmen, but Knights do not allow self-indulgence. There are those so obsessed with gaining strength that they cannot control themselves.";
+			next;
+			mes "[Sir Gray]";
+			mes "So...";
+			mes "What part of yourself";
+			mes "are you not satisfied";
+			mes "with right now?";
+			next;
+			switch(select("Skills.:Goal.:Appearance.")) {
+			case 1:
+				set .@knight_t,.@knight_t+5;
+				mes "[Sir Gray]";
+				mes "Skill is something you gain with experience as a Knight. It cannot be your highest goal. Otherwise, you'll never be satisfied as a Knight.";
+				next;
+				break;
+			case 2:
+				set .@knight_t,.@knight_t-5;
+				mes "[Sir Gray]";
+				mes "I see...";
+				mes "Always having a goal is very important. You may be full of ideas upon becoming a Knight, but that may change with time.";
+				next;
+				break;
+			case 3:
+				set .@knight_t,.@knight_t+5;
+				mes "[Sir Gray]";
+				mes "Oh no...";
+				mes "What you see isn't what really counts. A Swordman may be stronger than a Knight, and even Knight may grow weak if he becomes lazy.";
+				next;
+				break;
+			}
+			break;
+		}
+		mes "[Sir Gray]";
+		mes "I understand your thoughts,";
+		mes "but there are those who wish to";
+		mes "become Knights without thinking.";
+		next;
+		mes "[Sir Gray]";
+		mes "Those are the ones who instigate problems and shame the honor of Knights, bringing irreversible results.";
+		next;
+		mes "[Sir Gray]";
+		mes "The same goes for you as well. Once you become a Knight, you can never become a Swordman again. The duties and responsibilities of a Knight will always be with you.";
+		next;
+		mes "[Sir Gray]";
+		mes "If you become a Knight right away, what are you going to do first?";
+		next;
+		switch(select("I am going to go straight to battle.:There are those waiting for me.:I will learn more about Knights.")) {
+		case 1:
+			mes "[Sir Gray]";
+			mes "Battle...?";
+			mes "And then?";
+			next;
+			switch(select("I will grow within a short period of time.:I would like to test my ability as a Knight.:I would like to go to more challenging places.")) {
+			case 1:
+				set .@knight_t,.@knight_t+10;
+				mes "[Sir Gray]";
+				mes "Don't be in too much of a hurry to become strong. Even if you become";
+				mes "a Knight, you are still yourself.";
+				next;
+				break;
+			case 2:
+				mes "[Sir Gray]";
+				mes "Testing yourself is a good thing. It's okay to be happy about how you change, but don't forget about the true qualities of being a Knight.";
+				next;
+				break;
+			case 3:
+				mes "[Sir Gray]";
+				mes "Even if you become a Knight, you are not changing your inner self. No need to overwork yourself.";
+				mes "Relax and take things step by step.";
+				next;
+				break;
+			}
+			break;
+		case 2:
+			mes "[Sir Gray]";
+			mes "Who is";
+			mes "waiting for you?";
+			next;
+			switch(select("My friends.:My Guild members.:My Lover.")) {
+			case 1:
+				mes "[Sir Gray]";
+				mes "I see, they would share in the joy of your achievements. Don't ever lose your kind heart, and always give help to your friends.";
+				next;
+				break;
+			case 2:
+				mes "[Sir Gray]";
+				mes "Those who would share in your happiness and hardship. As a Knight, you must always protect them.";
+				next;
+				break;
+			case 3:
+				mes "[Sir Gray]";
+				mes "Oh, youth!";
+				mes "Becoming a Knight";
+				mes "for your beloved!";
+				mes "Always protect "+((Sex)?"her":"him")+"...";
+				mes "Even at the sacrifice";
+				mes "of your own life!";
+				next;
+				mes "[Sir Gray]";
+				mes "Also...";
+				mes "Love them forever.";
+				mes "Sincere affection";
+				mes "is hard to find.";
+				next;
+				break;
+			}
+			break;
+		case 3:
+			mes "[Sir Gray]";
+			mes "Good attitude...";
+			mes "What do you plan";
+			mes "on learning?";
+			next;
+			switch(select("Comfortable places for Knights to go...:The different paths of a Knight...:Ways to get more money as a Knight...")) {
+			case 1:
+				set .@knight_t,.@knight_t+5;
+				mes "[Sir Gray]";
+				mes "There are many places that are comfortable or uncomfortable in this world. However Knights must";
+				mes "be able to survive anywhere.";
+				next;
+				break;
+			case 2:
+				mes "[Sir Gray]";
+				mes "There are many similar Knights outside in the world. Think of them as your seniors and ask many questions.";
+				next;
+				break;
+			case 3:
+				set .@knight_t,.@knight_t+15;
+				mes "[Sir Gray]";
+				mes "Oh no. Do you hold wealth as a priority of being a Knight? We're not meant to be that way. Come again when you have thought";
+				mes "more about it...";
+				next;
+				break;
+			}
+			break;
+		}
+		mes "[Sir Gray]";
+		mes "Oh no, we've been";
+		mes "talking too much...";
+		mes "I apologize for";
+		mes "keeping you here";
+		mes "for so long.";
+		next;
+		if (.@knight_t == 0) {
+			set KNIGHT_Q,14;
+			mes "[Sir Gray]";
+			mes "I enjoyed talking with you. You remind me of myself as a young recruit. Shall we talk to the captain and decide on your";
+			mes "job change?";
+			next;
+			mes "[Sir Gray]";
+			mes "Don't worry too";
+			mes "much, I have a very";
+			mes "high opinion of you.";
+			mes "Now, go~";
+			close;
+		}
+		else if (.@knight_t == 5) {
+			set KNIGHT_Q,14;
+			mes "[Sir Gray]";
+			mes "I enjoyed speaking with you. You can think about the principles of Knighthood more once you become a Knight.";
+			next;
+			mes "[Sir Gray]";
+			mes "Then, shall we go to the captain and decide on your job change? Don't worry too much. You are good enough to be a Knight!";
+			close;
+		}
+		else if (.@knight_t == 10) {
+			set KNIGHT_Q,14;
+			changequest 9011,9012;
+			mes "[Sir Gray]";
+			mes "I enjoyed talking with you. Although, there were some";
+			mes "things that bothered me...";
+			next;
+			mes "[Sir Gray]";
+			mes "You should go";
+			mes "to the captain";
+			mes "so we can decide";
+			mes "on your job change.";
+			next;
+			mes "[Sir Gray]";
+			mes "Don't worry too much, coming to take my test means the others have acknowledged you as well.";
+			mes "Go now...!";
 			close;
 		}
-		if (KNIGHT_Q == 14) {
+		else {
+			set KNIGHT_Q,13;
 			mes "[Sir Gray]";
-			mes "I told you";
-			mes "to go to";
-			mes "the captain.";
+			mes "Conversing";
+			mes "with young ones";
+			mes "is always enjoyable...";
 			next;
 			mes "[Sir Gray]";
-			mes "Everyone will";
-			mes "carefully make";
-			mes "their decision,";
-			mes "so go now!";
+			mes "But it seems as though your dream is elsewhere, or that your focus is hazy. Spend more time as a Swordman, and come back";
+			mes "to me later.";
+			next;
+			mes "[Sir Gray]";
+			mes "If you truly wish to become a Knight, you must change your outlook first. Then, we shall see.";
 			close;
 		}
+	}
+	else if (KNIGHT_Q == 14) {
+		mes "I told you";
+		mes "to go to";
+		mes "the captain.";
+		next;
 		mes "[Sir Gray]";
+		mes "Everyone will";
+		mes "carefully make";
+		mes "their decision,";
+		mes "so go now!";
+		close;
+	}
+	else {
 		mes "Oh...";
 		mes "A young Swordman.";
 		mes "What can I do for you?";

+ 142 - 280
npc/jobs/2-1/priest.txt

@@ -757,7 +757,7 @@ prt_church,27,24,1	script	Sister Cecilia	79,{
 			mes "[Sister Cecilia]";
 			mes "Aw...? How could you give me that kind of answer? I assume you're not ready to be a Priest yet...";
 			next;
-			set PRIEST_Q, 8;
+			set PRIEST_Q,8;
 			mes "[Sister Cecilia]";
 			mes "You should reflect a little more on the teachings of holiness and come back later. You can't be a Priest if your spirit is weak.";
 			close;
@@ -769,7 +769,7 @@ prt_church,27,24,1	script	Sister Cecilia	79,{
 			mes "[Sister Cecilia]";
 			mes "Aw...? God won't grant you the power of holiness if your goals aren't just and pure. Meditate on your motivations for a while, and then come back to me.";
 			next;
-			set PRIEST_Q, 8;
+			set PRIEST_Q,8;
 			mes "[Sister Cecilia]";
 			mes "Think about the qualities that make Priests people of respect. You can't be a Priest if your spirit is not in accordance with God.";
 			close;
@@ -781,7 +781,7 @@ prt_church,27,24,1	script	Sister Cecilia	79,{
 			mes "[Sister Cecilia]";
 			mes "No, no. You've got the wrong idea. God authorizes us to use his power to support his children. You must help people in danger: it is your obligation.";
 			next;
-			set PRIEST_Q, 8;
+			set PRIEST_Q,8;
 			mes "[Sister Cecilia]";
 			mes "Go and observe the adventurers that are fighting for peace in this world. They will teach you what you must do in order to help them.";
 			close;
@@ -793,7 +793,7 @@ prt_church,27,24,1	script	Sister Cecilia	79,{
 			mes "[Sister Cecilia]";
 			mes "How can you say no...? That's one of the basic principles of Priesthood. You must value the welfare of others over your own safety.";
 			next;
-			set PRIEST_Q, 8;
+			set PRIEST_Q,8;
 			mes "[Sister Cecilia]";
 			mes "Go and think about the value of suffering and the meaning of sacrifice. When you think you understand more about helping those in need, come back to me.";
 			close;
@@ -805,7 +805,7 @@ prt_church,27,24,1	script	Sister Cecilia	79,{
 			mes "[Sister Cecilia]";
 			mes "No no no... You've got it wrong. Even though your purpose is to spread God's message, no one will eagerly accept what you say when you spam text.";
 			next;
-			set PRIEST_Q, 8;
+			set PRIEST_Q,8;
 			mes "[Sister Cecilia]";
 			mes "Remember...";
 			mes "You must be a moral person, and display maturity and respect to other players. This kind of attitude applies for all classes,";
@@ -819,7 +819,7 @@ prt_church,27,24,1	script	Sister Cecilia	79,{
 			mes "[Sister Cecilia]";
 			mes "No, you won't. Luring many monsters does more harm than good. There is no exception. That behavior is totally unacceptable.";
 			next;
-			set PRIEST_Q, 8;
+			set PRIEST_Q,8;
 			mes "[Sister Cecilia]";
 			mes "Even if it looks like you are aiding your party members, such action results in bad karma. Please reflect on that for a while.";
 			close;
@@ -953,7 +953,7 @@ prt_church,27,24,1	script	Sister Cecilia	79,{
 		mes "[Sister Cecilia]";
 		mes "Will you lure many monsters to help your party members level up?";
 		next;
-		switch (select("Yes.:No.") == 1) {
+		if (select("Yes.:No.") == 1) {
 			mes "[Sister Cecilia]";
 			mes "No, you won't. Luring many monsters does more harm than good. There is no exception. That behavior is totally unacceptable.";
 			next;
@@ -982,7 +982,7 @@ prt_church,27,24,1	script	Sister Cecilia	79,{
 		mes "You have demonstrated your devotion to God. Will you swear to adhere to his teachings for the rest of your days?";
 		next;
 		if (select("I do.:No.") == 1) {
-			set PRIEST_Q, 9;
+			set PRIEST_Q,9;
 			mes "[Sister Cecilia]";
 			mes "Now, you have completed your oath of Priesthood and accomplished all three trials required to become a Priest.";
 			next;
@@ -1015,15 +1015,13 @@ prt_church,27,24,1	script	Sister Cecilia	79,{
 }
 
 job_prist,24,187,4	script	Peter S. Alberto	110,{
-	if (Class == Job_Baby_Priest || Class == Job_Priest) {
-		mes "[Father Peter]";
+	mes "[Father Peter]";
+	if (BaseJob == Job_Priest) {
 		mes "Welcome!";
-		if (Sex == 1) {
-			mes "Brother " + strcharinfo(0) + "!";
-		}
-		else {
-			mes "Sister " + strcharinfo(0) + "!";
-		}
+		if (sex)
+			mes "Brother "+ strcharinfo(0) +"!";
+		else
+			mes "Sister "+ strcharinfo(0) +"!";
 		mes "So good to see you again!";
 		next;
 		mes "[Father Peter]";
@@ -1039,7 +1037,7 @@ job_prist,24,187,4	script	Peter S. Alberto	110,{
 		mes "So...";
 		mes "Are you gonna help him right now?";
 		next;
-		switch (select("Yes, I am.:Give me a minute.:I changed my mind.")) {
+		switch(select("Yes, I am.:Give me a minute.:I changed my mind.")) {
 		case 1:
 			mes "[Father Peter]";
 			mes "Go for it! As your Acolyte enters, the test will begin. Now, I will send you to the testing area.";
@@ -1064,7 +1062,6 @@ job_prist,24,187,4	script	Peter S. Alberto	110,{
 		}
 	}
 	if (PRIEST_Q == 5) {
-		mes "[Father Peter]";
 		mes "Welcome~!";
 		mes "I congratulate you";
 		mes "for passing the first trail.";
@@ -1082,7 +1079,7 @@ job_prist,24,187,4	script	Peter S. Alberto	110,{
 		mes "[Father Peter]";
 		mes "Anyway, let me give you a brief explanation of the spiritual training. Are you familiar with what the spiritual training is for Priests?";
 		next;
-		switch (select("Yes, I do.:Sorry...")) {
+		switch(select("Yes, I do.:Sorry...")) {
 		case 1:
 			mes "[Father Peter]";
 			mes "Haha, I like you! But it never hurts to have too much information. The more well informed you are, the more easily you'll pass the test!";
@@ -1110,7 +1107,7 @@ job_prist,24,187,4	script	Peter S. Alberto	110,{
 		mes "[Father Peter]";
 		mes "If you are close to a Priest, you'd better ask him to assist you during this trial. Now, are you ready?";
 		next;
-		switch (select("I'm ready.:Please hold on.:I want to go back.")) {
+		switch(select("I'm ready.:Please hold on.:I want to go back.")) {
 		case 1:
 			mes "[Father Peter]";
 			mes "Now, let the spiritual training begin. It's simple. Just kill them all. Show no mercy to the creatures of darkness!";
@@ -1119,8 +1116,9 @@ job_prist,24,187,4	script	Peter S. Alberto	110,{
 			mes "Now...";
 			mes "Go for it!";
 			close2;
+			changequest 8011,8012;
 			warp "job_prist",24,44;
-			donpcevent "Zombie_Generator::OnEnable";
+			donpcevent "Zombie_Generator#prst::OnEnable";
 			donpcevent "Peter S. Alberto::OnDisable";
 			donpcevent "Peter S. Alberto#2::OnEnable";
 			end;
@@ -1144,8 +1142,7 @@ job_prist,24,187,4	script	Peter S. Alberto	110,{
 			end;
 		}
 	}
-	if (PRIEST_Q == 6) {
-		mes "[Father Peter]";
+	else if (PRIEST_Q == 6) {
 		mes "Are you ready this time?";
 		mes "Complete this trial quickly,";
 		mes "and become a Priest!";
@@ -1153,7 +1150,7 @@ job_prist,24,187,4	script	Peter S. Alberto	110,{
 		mes "[Father Peter]";
 		mes "Are you ready then?";
 		next;
-		switch (select("I'm ready.:Please hold on.:I want to go back.")) {
+		switch(select("I'm ready.:Please hold on.:I want to go back.")) {
 		case 1:
 			mes "[Father Peter]";
 			mes "Now, let the spiritual training begin. For the glory of God, for peace on earth, and goodwill towards all men...";
@@ -1163,8 +1160,11 @@ job_prist,24,187,4	script	Peter S. Alberto	110,{
 			mes "Kill those";
 			mes "misbegotten creatures!";
 			close2;
+			if(checkquest(8012) == -1) {
+				changequest 8011,8012;
+			}
 			warp "job_prist",24,44;
-			donpcevent "Zombie_Generator::OnEnable";
+			donpcevent "Zombie_Generator#prst::OnEnable";
 			donpcevent "Peter S. Alberto::OnDisable";
 			donpcevent "Peter S. Alberto#2::OnEnable";
 			end;
@@ -1186,31 +1186,30 @@ job_prist,24,187,4	script	Peter S. Alberto	110,{
 			end;
 		}
 	}
-	mes "[Father Peter]";
-	mes "Go back!";
-	close2;
-	warp "prontera",234,318;
-	end;
+	else {
+		mes "Go back!";
+		close2;
+		warp "prontera",234,318;
+		end;
+	}
 
 OnEnable:
-	hideoffnpc "Peter S. Alberto";
+	enablenpc "Peter S. Alberto";
 	end;
 
 OnDisable:
-	hideonnpc "Peter S. Alberto";
+	disablenpc "Peter S. Alberto";
 	end;
 }
 
 job_prist,23,187,1	script	Peter S. Alberto#2	110,{
-	if (Class == Job_Baby_Priest || Class == Job_Priest) {
-		mes "[Father Peter]";
+	mes "[Father Peter]";
+	if (BaseJob == Job_Priest) {
 		mes "Welcome!";
-		if (Sex == 1) {
-			mes "Brother " + strcharinfo(0) + "!";
-		}
-		else {
-			mes "Sister " + strcharinfo(0) + "!";
-		}
+		if (sex)
+			mes "Brother "+ strcharinfo(0) +"!";
+		else
+			mes "Sister "+ strcharinfo(0) +"!";
 		mes "So good to see you!";
 		next;
 		mes "[Father Peter]";
@@ -1224,46 +1223,43 @@ job_prist,23,187,1	script	Peter S. Alberto#2	110,{
 		close;
 	}
 	if (PRIEST_Q == 5) {
-		mes "[Father Peter]";
 		mes "Please hold on for a while. Another acolyte is in the training ground right now.";
 		next;
 		mes "[Father Peter]";
 		mes "If you want to take the test, please wait a while and talk to me again.";
 		close;
 	}
-	if (PRIEST_Q == 6) {
-		mes "[Father Peter]";
+	else if (PRIEST_Q == 6) {
 		mes "Please hold on for a while. Another acolyte is in the training ground right now.";
 		next;
 		mes "[Father Peter]";
 		mes "If you want to take the test, please wait a while and talk to me again.";
 		close;
 	}
-	mes "[Father Peter]";
-	mes "Peace...";
-	mes "Be with you.";
-	close2;
-	warp "prontera",234,318;
-	end;
+	else {
+		mes "Peace...";
+		mes "Be with you.";
+		close2;
+		warp "prontera",234,318;
+		end;
+	}
 
 OnInit:
-	hideonnpc "Peter S. Alberto#2";
+	disablenpc "Peter S. Alberto#2";
 	end;
 
 OnEnable:
-	hideoffnpc "Peter S. Alberto#2";
+	enablenpc "Peter S. Alberto#2";
 	end;
 
 OnDisable:
-	hideonnpc "Peter S. Alberto#2";
+	disablenpc "Peter S. Alberto#2";
 	end;
 }
 
-job_prist,1,1,1	script	Zombie_Generator	110,{
-	end;
-
+-	script	Zombie_Generator#prst	110,{
 OnInit:
-	hideonnpc "Zombie_Generator";
+	disablenpc "Zombie_Generator#prst";
 	end;
 
 OnEnable:
@@ -1275,63 +1271,50 @@ OnEnable:
 	initnpctimer;
 	end;
 
-OnM1:
-	monster "job_prist",24,52,"Theft",1015,1,"Zombie_Generator::OnMyMobDead";
-	monster "job_prist",18,52,"Want of Virtue",1015,1,"Zombie_Generator::OnMyMobDead";
-	monster "job_prist",30,52,"Jealousy",1015,1,"Zombie_Generator::OnMyMobDead";
-	end;
-
-OnM2:
-	monster "job_prist",21,62,"Fury",1015,1,"Zombie_Generator::OnMyMobDead";
-	monster "job_prist",27,62,"Envy",1015,1,"Zombie_Generator::OnMyMobDead";
+Onm1:
+	set .MyMobs,13;
+	monster "job_prist",24,52,"Theft",1015,1,"Z_C#prst::OnMyMobDead";
+	monster "job_prist",18,52,"Want of Virtue",1015,1,"Z_C#prst::OnMyMobDead";
+	monster "job_prist",30,52,"Jealousy",1015,1,"Z_C#prst::OnMyMobDead";
 	end;
 
-OnM3:
-	monster "job_prist",24,72,"Arrogance",1015,1,"Zombie_Generator::OnMyMobDead";
-	monster "job_prist",18,72,"Lewdness",1015,1,"Zombie_Generator::OnMyMobDead";
-	monster "job_prist",30,72,"Sloth",1015,1,"Zombie_Generator::OnMyMobDead";
+Onm2:
+	monster "job_prist",21,62,"Fury",1015,1,"Z_C#prst::OnMyMobDead";
+	monster "job_prist",27,62,"Envy",1015,1,"Z_C#prst::OnMyMobDead";
 	end;
 
-OnM4:
-	monster "job_prist",21,82,"Gluttony",1015,1,"Zombie_Generator::OnMyMobDead";
-	monster "job_prist",27,82,"Greed",1015,1,"Zombie_Generator::OnMyMobDead";
+Onm3:
+	monster "job_prist",24,72,"Arrogance",1015,1,"Z_C#prst::OnMyMobDead";
+	monster "job_prist",18,72,"Lewdness",1015,1,"Z_C#prst::OnMyMobDead";
+	monster "job_prist",30,72,"Sloth",1015,1,"Z_C#prst::OnMyMobDead";
 	end;
 
-OnM5:
-	monster "job_prist",24,92,"Despair",1015,1,"Zombie_Generator::OnMyMobDead";
-	monster "job_prist",18,92,"Distrust",1015,1,"Zombie_Generator::OnMyMobDead";
-	monster "job_prist",30,92,"Fear",1015,1,"Zombie_Generator::OnMyMobDead";
+Onm4:
+	monster "job_prist",21,82,"Gluttony",1015,1,"Z_C#prst::OnMyMobDead";
+	monster "job_prist",27,82,"Greed",1015,1,"Z_C#prst::OnMyMobDead";
 	end;
 
-OnMyMobDead:
-	if (mobcount ("job_prist","Zombie_Generator::OnMyMobDead") < 1) {
-		donpcevent "prst1_2::OnEnable";
-	}
+Onm5:
+	monster "job_prist",24,92,"Despair",1015,1,"Z_C#prst::OnMyMobDead";
+	monster "job_prist",18,92,"Distrust",1015,1,"Z_C#prst::OnMyMobDead";
+	monster "job_prist",30,92,"Fear",1015,1,"Z_C#prst::OnMyMobDead";
 	end;
 
 OnDisable:
-	hideonnpc "Zombie_Generator";
-	end;
-
-OnReset:
-	killmonster "job_prist","Zombie_Generator::OnMyMobDead";
+	disablenpc "Zombie_Generator#prst";
+	killmonsterall "job_prist";
 	end;
 
 OnTimer300000:
-	donpcevent "Zombieo::OnEnable";
+	areawarp "job_prist",8,34,39,109,"prontera",234,318;
 	end;
 
 OnTimer300500:
-	donpcevent "Zombie_Generator::OnReset";
-	end;
-
-OnTimer301000:
-	donpcevent "Zombieo::OnDisable";
-	donpcevent "prst1_2::OnDisable";
+	donpcevent "Zombie_Generator#prst::OnDisable";
 	end;
 
 OnTimer301500:
-	donpcevent "Zombie_Generator::OnDisable";
+	donpcevent "Zombie_Generator#prst::OnDisable";
 	donpcevent "Peter S. Alberto#2::OnDisable";
 	donpcevent "Peter S. Alberto::OnEnable";
 	end;
@@ -1341,10 +1324,17 @@ OnTimer302000:
 	end;
 }
 
-job_prist,24,44,0	script	Zombie Info	139,1,1,{
+-	script	Z_C#prst	-1,{
+	end;
 
+OnMyMobDead:
+	set getvariableofnpc(.MyMobs,"Zombie_Generator#prst"),getvariableofnpc(.MyMobs,"Zombie_Generator#prst") - 1;
+	end;
+}
+
+job_prist,24,44,0	script	Zombie Info	-1,1,1,{
 OnTouch:
-	if (Class == Job_Baby_Priest || Class == Job_Priest) {
+	if (BaseJob == Job_Priest) {
 		mes "[Father Peter]";
 		mes "When the Priest applicant enters, 5 minutes will be given to complete this trial. Proceed slowly and help your Acolyte.";
 		next;
@@ -1358,7 +1348,7 @@ OnTouch:
 		mes "5 minutes. Best of luck~";
 		close;
 	}
-	if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) {
+	else if (BaseJob == Job_Acolyte){
 		mes "[Father Peter]";
 		mes "I will give you exactly 5 minutes! You must proceed slowly and eliminate the Zombies.";
 		next;
@@ -1369,249 +1359,121 @@ OnTouch:
 	end;
 }
 
-job_prist,24,74,0	script	Zombieo	139,14,40,{
-
-OnTouch:
-	warp "prontera",234,318;
-	end;
-
+job_prist,24,52,0	script	Zombie1_1	-1,14,1,{
 OnInit:
-	hideonnpc "Zombieo";
+	disablenpc "Zombie1_1";
 	end;
 
-OnEnable:
-	hideoffnpc "Zombieo";
-	end;
-
-OnDisable:
-	hideonnpc "Zombieo";
-	end;
-}
-
-job_prist,24,52,0	script	Zombie1_1	139,14,1,{
-
 OnTouch:
-	if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) {
-		donpcevent "Zombie_Generator::OnM1";
+	if (BaseJob == Job_Acolyte) {
+		donpcevent "Zombie_Generator#prst::Onm1";
 		donpcevent "Zombie1_1::OnDisable";
 	}
 	end;
 
-OnInit:
-	hideonnpc "Zombie1_1";
-	end;
-
 OnEnable:
-	hideoffnpc "Zombie1_1";
-	hideoffnpc "Zombie1_2";
-	hideoffnpc "Zombie1_3";
+	enablenpc "Zombie1_1";
 	end;
 
 OnDisable:
-	hideonnpc "Zombie1_1";
-	hideonnpc "Zombie1_2";
-	hideonnpc "Zombie1_3";
-	end;
-}
-
-job_prist,18,52,0	script	Zombie1_2	139,1,1,{
-	end;
-
-OnInit:
-	hideonnpc "Zombie1_2";
+	disablenpc "Zombie1_1";
 	end;
 }
 
-job_prist,30,52,0	script	Zombie1_3	139,1,1,{
-	end;
-
+job_prist,21,62,0	script	Zombie2_1	-1,17,1,{
 OnInit:
-	hideonnpc "Zombie1_3";
+	disablenpc "Zombie2_1";
 	end;
-}
-
-job_prist,21,62,0	script	Zombie2_1	139,17,1,{
 
 OnTouch:
-	if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) {
-		donpcevent "Zombie_Generator::OnM2";
+	if (BaseJob == Job_Acolyte) {
+		donpcevent "Zombie_Generator#prst::Onm2";
 		donpcevent "Zombie2_1::OnDisable";
 	}
 	end;
 
-OnInit:
-	hideonnpc "Zombie2_1";
-	end;
-
 OnEnable:
-	hideoffnpc "Zombie2_1";
-	hideoffnpc "Zombie2_2";
+	enablenpc "Zombie2_1";
 	end;
 
 OnDisable:
-	hideonnpc "Zombie2_1";
-	hideonnpc "Zombie2_2";
+	disablenpc "Zombie2_1";
 	end;
 }
 
-job_prist,27,62,0	script	Zombie2_2	139,1,1,{
-	end;
-
+job_prist,24,72,0	script	Zombie3_1	-1,14,1,{
 OnInit:
-	hideonnpc "Zombie2_2";
+	disablenpc "Zombie3_1";
 	end;
-}
-
-job_prist,24,72,0	script	Zombie3_1	139,14,1,{
 
 OnTouch:
-	if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) {
-		donpcevent "Zombie_Generator::OnM3";
+	if (BaseJob == Job_Acolyte) {
+		donpcevent "Zombie_Generator#prst::Onm3";
 		donpcevent "Zombie3_1::OnDisable";
 	}
 	end;
 
-OnInit:
-	hideonnpc "Zombie3_1";
-	end;
-
 OnEnable:
-	hideoffnpc "Zombie3_1";
-	hideoffnpc "Zombie3_2";
-	hideoffnpc "Zombie3_3";
+	enablenpc "Zombie3_1";
 	end;
 
 OnDisable:
-	hideonnpc "Zombie3_1";
-	hideonnpc "Zombie3_2";
-	hideonnpc "Zombie3_3";
-	end;
-}
-
-job_prist,18,72,0	script	Zombie3_2	139,1,1,{
-	end;
-
-OnInit:
-	hideonnpc "Zombie3_2";
+	disablenpc "Zombie3_1";
 	end;
 }
 
-job_prist,30,72,0	script	Zombie3_3	139,1,1,{
-	end;
-
+job_prist,21,82,0	script	Zombie4_1	-1,17,1,{
 OnInit:
-	hideonnpc "Zombie3_3";
+	disablenpc "Zombie4_1";
 	end;
 
-}
-
-job_prist,21,82,0	script	Zombie4_1	139,17,1,{
-
 OnTouch:
-	if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) {
-		donpcevent "Zombie_Generator::OnM4";
+	if (BaseJob == Job_Acolyte) {
+		donpcevent "Zombie_Generator#prst::Onm4";
 		donpcevent "Zombie4_1::OnDisable";
 	}
 	end;
 
-OnInit:
-	hideonnpc "Zombie4_1";
-	end;
-
 OnEnable:
-	hideoffnpc "Zombie4_1";
-	hideoffnpc "Zombie4_2";
+	enablenpc "Zombie4_1";
 	end;
 
 OnDisable:
-	hideonnpc "Zombie4_1";
-	hideonnpc "Zombie4_2";
-	end;
+	disablenpc "Zombie4_1";
 }
 
-job_prist,27,82,0	script	Zombie4_2	139,1,1,{
-	end;
-
+job_prist,24,92,0	script	Zombie5_1	-1,14,1,{
 OnInit:
-	hideonnpc "Zombie4_2";
+	disablenpc "Zombie5_1";
 	end;
-}
-
-job_prist,24,92,0	script	Zombie5_1	139,14,1,{
 
 OnTouch:
-	if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) {
-		donpcevent "Zombie_Generator::OnM5";
+	if (BaseJob == Job_Acolyte) {
+		donpcevent "Zombie_Generator#prst::Onm5";
 		donpcevent "Zombie5_1::OnDisable";
 	}
 	end;
 
-OnInit:
-	hideonnpc "Zombie5_1";
-	end;
-
 OnEnable:
-	hideoffnpc "Zombie5_1";
-	hideoffnpc "Zombie5_2";
-	hideoffnpc "Zombie5_3";
+	enablenpc "Zombie5_1";
 	end;
 
 OnDisable:
-	hideonnpc "Zombie5_1";
-	hideonnpc "Zombie5_2";
-	hideonnpc "Zombie5_3";
-	end;
-}
-
-job_prist,18,92,0	script	Zombie5_2	139,1,1,{
-	end;
-
-OnInit:
-	hideonnpc "Zombie5_2";
-	end;
-}
-
-job_prist,30,92,0	script	Zombie5_3	139,1,1,{
-	end;
-
-OnInit:
-	hideonnpc "Zombie5_3";
-	end;
+	disablenpc "Zombie5_1";
 }
 
-job_prist,24,109,0	script	prst1_1	45,4,3,{
-
-OnTouch:
-	if (Class == Job_Baby_Priest || Class == Job_Priest) {
-		warp "job_prist",168,17;
-	}
-	end;
-}
-
-job_prist,24,109,0	script	prst1_2	139,4,3,{
-
+job_prist,24,109,4	script	prst1_1	45,3,3,{
 OnTouch:
-	if (Class == Job_Baby_Acolyte || Class == Job_Acolyte) {
+	set .@mobs,getvariableofnpc(.MyMobs,"Zombie_Generator#prst");
+	if (BaseJob == Job_Priest) warp "job_prist",168,17;
+	else if (BaseClass == Job_Acolyte && .@mobs < 1) {
 		warp "job_prist",168,17;
-		donpcevent "Zombie_Generator::OnReset";
+		donpcevent "Zombie_Generator#prst::OnDisable";
 		donpcevent "Peter S. Alberto#2::OnDisable";
 		donpcevent "Peter S. Alberto::OnEnable";
-		donpcevent "prst1_2::OnDisable";
-		donpcevent "Zombie_Generator::OnDisable";
+		donpcevent "Zombie_Generator#prst::OnDisable";
 	}
 	end;
-
-OnInit:
-	hideonnpc "prst1_2";
-	end;
-
-OnEnable:
-	hideoffnpc "prst1_2";
-	end;
-
-OnDisable:
-	hideonnpc "prst1_2";
-	end;
 }
 
 job_prist,168,45,4	script	Deviruchi#prst	1928,8,1,{
@@ -1925,7 +1787,7 @@ job_prist,1,2,1	script	Mummy_Generator	110,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "Mummy_Generator";
+	disablenpc "Mummy_Generator";
 	end;
 
 OnEnable:
@@ -1950,7 +1812,7 @@ OnM3:
 	end;
 
 OnDisable:
-	hideonnpc "Mummy_Generator";
+	disablenpc "Mummy_Generator";
 	end;
 
 OnReset:
@@ -1968,17 +1830,17 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "Mummy1_1";
+	disablenpc "Mummy1_1";
 	end;
 
 OnEnable:
-	hideoffnpc "Mummy1_1";
-	hideoffnpc "Mummy1_2";
+	enablenpc "Mummy1_1";
+	enablenpc "Mummy1_2";
 	end;
 
 OnDisable:
-	hideonnpc "Mummy1_1";
-	hideonnpc "Mummy1_2";
+	disablenpc "Mummy1_1";
+	disablenpc "Mummy1_2";
 	end;
 }
 
@@ -1986,7 +1848,7 @@ job_prist,105,55,0	script	Mummy1_2	139,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "Mummy1_2";
+	disablenpc "Mummy1_2";
 	end;
 }
 
@@ -2000,17 +1862,17 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "Mummy2_1";
+	disablenpc "Mummy2_1";
 	end;
 
 OnEnable:
-	hideoffnpc "Mummy2_1";
-	hideoffnpc "Mummy2_2";
+	enablenpc "Mummy2_1";
+	enablenpc "Mummy2_2";
 	end;
 
 OnDisable:
-	hideonnpc "Mummy2_1";
-	hideonnpc "Mummy2_2";
+	disablenpc "Mummy2_1";
+	disablenpc "Mummy2_2";
 	end;
 }
 
@@ -2018,7 +1880,7 @@ job_prist,105,70,0	script	Mummy2_2	139,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "Mummy2_2";
+	disablenpc "Mummy2_2";
 	end;
 }
 
@@ -2032,17 +1894,17 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "Mummy3_1";
+	disablenpc "Mummy3_1";
 	end;
 
 OnEnable:
-	hideoffnpc "Mummy3_1";
-	hideoffnpc "Mummy3_2";
+	enablenpc "Mummy3_1";
+	enablenpc "Mummy3_2";
 	end;
 
 OnDisable:
-	hideonnpc "Mummy3_1";
-	hideonnpc "Mummy3_2";
+	disablenpc "Mummy3_1";
+	disablenpc "Mummy3_2";
 	end;
 }
 
@@ -2050,7 +1912,7 @@ job_prist,105,85,0	script	Mummy3_2	139,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "Mummy3_2";
+	disablenpc "Mummy3_2";
 	end;
 }
 

+ 158 - 212
npc/jobs/2-1/wizard.txt

@@ -629,6 +629,7 @@ gef_tower,102,24,2	script	Gloomy Wizard	735,{
 			if (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight") == 1) {
 				set @wizard_t, @wizard_t + 10;
 			}
+			next;
 		}
 		if (.@wizard_m2 == 2) {
 			mes "[Raulel]";
@@ -691,6 +692,7 @@ gef_tower,102,24,2	script	Gloomy Wizard	735,{
 			if (select("Drake:Megalodon:Deviace:Khalitzburg") == 3) {
 				set @wizard_t, @wizard_t + 10;
 			}
+			next;
 		}
 		else {
 			mes "[Raulel]";
@@ -753,6 +755,7 @@ gef_tower,102,24,2	script	Gloomy Wizard	735,{
 			if (select("Marduk Card:Magnolia Card:Willow Card:Maya Card") == 2) {
 				set @wizard_t, @wizard_t + 10;
 			}
+			next;
 		}
 		mes "[Raulel]";
 		mes "Hmmm...Good job, you finished answering all the questions, go buy yourself some potions or something, thats IF you have the Zeny. Hahahahahahahah~";
@@ -797,7 +800,7 @@ gef_tower,102,24,2	script	Gloomy Wizard	735,{
 		mes "[Raulel]";
 		mes "If you miss one single question, then just give up. You wouldn't have any talent in being a Wizard! ~Hahahahaha";
 		next;
-		if (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.")) {
+		if (select("Because of you, I want to live as a normal Mage now.:I would like to continue with the tests.") == 1) {
 			mes "[Raulel]";
 			mes "Hahahaha~ Surprising, comming from you, that's a very wise choice...*cough* *cough*";
 			mes "If i were you, i would never, ever dream of becoming a Wizard again. Gre...Greaa...*sneeze* Greater Magic wasn't meant for humans to use.";
@@ -885,6 +888,7 @@ gef_tower,102,24,2	script	Gloomy Wizard	735,{
 			if (select("Lightning Bolt:Fire Bolt:Cold Bolt:Sight") == 1) {
 				set @wizard_t, @wizard_t + 10;
 			}
+			next;
 		}
 		if (.@wizard_m2 == 2) {
 			mes "[Raulel]";
@@ -947,6 +951,7 @@ gef_tower,102,24,2	script	Gloomy Wizard	735,{
 			if (select("Drake:Megalodon:Deviace:Khalitzburg") == 3) {
 				set @wizard_t, @wizard_t + 10;
 			}
+			next;
 		}
 		else {
 			mes "[Raulel]";
@@ -1009,6 +1014,7 @@ gef_tower,102,24,2	script	Gloomy Wizard	735,{
 			if (select("Marduk Card:Magnolia Card:Willow Card:Maya Card") == 2) {
 				set @wizard_t, @wizard_t + 10;
 			}
+			next;
 		}
 		mes "[Raulel]";
 		mes "Good job, you finished answered all the questions... Go buy yourself some potions or something if you have the Zeny. Haha...";
@@ -1309,60 +1315,61 @@ job_wiz,50,165,4	script	Arena Assistant	700,{
 	close;
 }
 
-job_wiz,50,165,2	script	Waiting Room#wzrd	111,{
-	end;
-
+job_wiz,50,165,4	script	Waiting Room#wiz	700,{
 OnInit:
 	waitingroom "Waiting Room",20,"Waiting Room#wiz::OnStartArena",1;
 	enablewaitingroomevent;
 	end;
 
 OnStartArena:
+	killmonsterall "job_wiz";
 	warpwaitingpc "job_wiz",114,169;
 	donpcevent "Room of Water::OnEnable";
+	disablenpc "Waiting Room#wiz";
 	disablewaitingroomevent;
 	end;
 
-OnEnable:
+OnStart:
 	enablewaitingroomevent;
 	end;
 }
 
+// Water Room (Test 2 part 1)
+//==========================================================
 job_wiz,1,1,1	script	Room of Water	66,{
-	end;
-
 OnInit:
-	hideonnpc "Room of Water";
+	disablenpc "Room of Water";
 	end;
 
 OnEnable:
-	hideoffnpc "Room of Water";
+	enablenpc "Room of Water";
+	if (!checkre(0)) {
+		set .MyMobs,8;
+		monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead";
+	}
+	else
+		set .MyMobs,7;
 	monster "job_wiz",109,174,"Phen",1158,1,"Room of Water::OnMyMobDead";
-	monster "job_wiz",118,174,"Clam",1074,1,"Room of Water::OnMyMobDead";
+	monster "job_wiz",118,174,"Shellfish",1074,1,"Room of Water::OnMyMobDead";
 	monster "job_wiz",109,165,"Vadon",1066,1,"Room of Water::OnMyMobDead";
 	monster "job_wiz",118,165,"Cornutus",1067,1,"Room of Water::OnMyMobDead";
 	monster "job_wiz",101,157,"Marina",1141,1,"Room of Water::OnMyMobDead";
 	monster "job_wiz",126,157,"Marin",1242,1,"Room of Water::OnMyMobDead";
 	monster "job_wiz",98,170,"Magnolia",1138,1,"Room of Water::OnMyMobDead";
-	if(!checkre(0)){
-		monster "job_wiz",129,170,"Obeaune",1044,1,"Room of Water::OnMyMobDead";
-	}
 	initnpctimer;
 	end;
 
-OnReset:
-	killmonster "job_wiz","Room of Water::OnMyMobDead";
-	end;
-
 OnDisable:
-	hideonnpc "Room of Water";
+	killmonsterall "job_wiz";
+	disablenpc "Room of Water";
 	end;
 
 OnMyMobDead:
-	if (mobcount ("job_wiz","Room of Water::OnMyMobDead") < 1) {
+	set .MyMobs,.MyMobs-1;
+	if (.MyMobs < 1) {
 		set WIZ_Q2,WIZ_Q2+1;
-		mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map;
-		donpcevent "Room of Water#DK::OnEnable";
+		mapannounce "job_wiz",strcharinfo(0)+" has succeeded in eliminating the monsters.",bc_map;
+		donpcevent "Room of Water#Door::OnEnable";
 		stopnpctimer;
 	}
 	end;
@@ -1405,11 +1412,11 @@ OnTimer173000:
 
 OnTimer183000:
 	mapannounce "job_wiz","Time is up.",bc_map;
-	donpcevent "Room of Water::OnReset";
+	donpcevent "Room of Water::OnDisable";
 	end;
 
 OnTimer184000:
-	donpcevent "Room of Water#Failed::OnEnable";
+	enablenpc "Room of Water#Failed";
 	end;
 
 OnTimer185000:
@@ -1417,45 +1424,41 @@ OnTimer185000:
 	end;
 
 OnTimer186000:
-	donpcevent "Room of Water#Failed::OnDisable";
+	disablenpc "Room of Water#Failed";
 	donpcevent "Room of Water::OnDisable";
-	donpcevent "Waiting Room::OnEnable";
+	donpcevent "Waiting Room#wiz::OnStart";
 	end;
 }
 
-job_wiz,1,2,1	script	Room of Water#DK	66,{
-	end;
-
+job_wiz,1,2,1	script	Room of Water#Door	66,{
 OnInit:
-	hideonnpc "Room of Water#DK";
+	disablenpc "Room of Water#Door";
 	end;
 
 OnEnable:
-	hideoffnpc "Room of Water#DK";
-	donpcevent "Room of Water::OnReset";
+	enablenpc "Room of Water#Door";
 	donpcevent "Room of Water::OnDisable";
-	monster "job_wiz",114,169,"Marine Sphere",1142,1,"Room of Water#DK::OnMyMobDead";
-	monster "job_wiz",112,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead";
-	monster "job_wiz",116,169,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead";
-	monster "job_wiz",114,171,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead";
-	monster "job_wiz",114,167,"Hydra",1068,1,"Room of Water#DK::OnMyMobDead";
+	set .MyMobs,5;
+	monster "job_wiz",114,169,"Marine Sphere",1142,1,"Room of Water#Door::OnMyMobDead";
+	monster "job_wiz",112,169,"Hydra",1068,1,"Room of Water#Door::OnMyMobDead";
+	monster "job_wiz",116,169,"Hydra",1068,1,"Room of Water#Door::OnMyMobDead";
+	monster "job_wiz",114,171,"Hydra",1068,1,"Room of Water#Door::OnMyMobDead";
+	monster "job_wiz",114,167,"Hydra",1068,1,"Room of Water#Door::OnMyMobDead";
 	initnpctimer;
 	end;
 
-OnReset:
-	killmonster "job_wiz","Room of Water#DK::OnMyMobDead";
-	end;
-
 OnDisable:
-	hideonnpc "Room of Water#DK";
+	killmonsterall "job_wiz";
+	disablenpc "Room of Water#Door";
 	end;
 
 OnMyMobDead:
-	if (mobcount ("job_wiz","Room of Water#DK::OnMyMobDead") < 1) {
-		mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map;
+	set .MyMobs,.MyMobs-1;
+	if (.MyMobs < 1) {
+		mapannounce "job_wiz",strcharinfo(0)+" has succeeded in eliminating the monsters.",bc_map;
+		percentheal 100,100;
 		warp "job_wiz",116,97;
-		donpcevent "Room of Water#DK::OnReset";
-		donpcevent "Room of Water#DK::OnDisable";
+		donpcevent "Room of Water#Door::OnDisable";
 		donpcevent "Room of Earth::OnEnable";
 		stopnpctimer;
 	}
@@ -1475,11 +1478,11 @@ OnTimer50000:
 
 OnTimer60000:
 	mapannounce "job_wiz","Time is up.",bc_map;
-	donpcevent "Room of Water#DK::OnReset";
+	donpcevent "Room of Water#Door::OnDisable";
 	end;
 
 OnTimer61000:
-	donpcevent "Room of Water#Failed::OnEnable";
+	enablenpc "Room of Water#Failed";
 	end;
 
 OnTimer62000:
@@ -1487,50 +1490,43 @@ OnTimer62000:
 	end;
 
 OnTimer63000:
-	donpcevent "Room of Water#Failed::OnDisable";
-	donpcevent "Room of Water#DK::OnDisable";
-	donpcevent "Waiting Room::OnEnable";
+	disablenpc "Room of Water#Failed";
+	donpcevent "Room of Water#Door::OnDisable";
+	donpcevent "Waiting Room#wiz::OnStart";
 	end;
 }
 
-job_wiz,114,169,0	script	Room of Water#Failed	139,16,16,{
-
-OnTouch:
-	mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map;
-	warp "geffen",120,110;
-	end;
-
+job_wiz,114,169,0	script	Room of Water#Failed	-1,16,16,{
 OnInit:
-	hideonnpc "Room of Water#Failed";
-	end;
-
-OnEnable:
-	hideoffnpc "Room of Water#Failed";
+	disablenpc "Room of Water#Failed";
 	end;
 
-OnDisable:
-	hideonnpc "Room of Water#Failed";
+OnTouch:
+	mapannounce "job_wiz",strcharinfo(0)+" has not succeeded.",bc_map;
+	warp "geffen",120,110;
 	end;
 }
 
-job_wiz,1,3,1	script	Room of Earth	66,1,1,{
-	end;
-
+// Earth Room (Test 2 part 2)
+//==========================================================
+job_wiz,1,3,1	script	Room of Earth	66,{
 OnInit:
-	hideonnpc "Room of Earth";
+	disablenpc "Room of Earth";
 	end;
 
 OnEnable:
-	hideoffnpc "Room of Earth";
-	percentheal 100,100;
-	monster "job_wiz",111,102,"Yoyo",1057,1,"Room of Earth::OnMyMobDead";
-	monster "job_wiz",120,102,"Deniro",1105,1,"Room of Earth::OnMyMobDead";
-	monster "job_wiz",111,102,"Caramel",1103,1,"Room of Earth::OnMyMobDead";
-	if (!checkre(0)){
+	enablenpc "Room of Earth";
+	if (!checkre(0)) {
+		set .MyMobs,10;
 		monster "job_wiz",120,102,"Hode",1127,1,"Room of Earth::OnMyMobDead";
 		monster "job_wiz",111,93,"Savage",1166,1,"Room of Earth::OnMyMobDead";
 		monster "job_wiz",127,86,"Mantis",1139,1,"Room of Earth::OnMyMobDead";
 	}
+	else
+		set .MyMobs,7;
+	monster "job_wiz",111,102,"Yoyo",1057,1,"Room of Earth::OnMyMobDead";
+	monster "job_wiz",120,102,"Deniro",1105,1,"Room of Earth::OnMyMobDead";
+	monster "job_wiz",111,102,"Caramel",1103,1,"Room of Earth::OnMyMobDead";
 	monster "job_wiz",120,93,"Giearth",1121,1,"Room of Earth::OnMyMobDead";
 	monster "job_wiz",107,98,"Bigfoot",1060,1,"Room of Earth::OnMyMobDead";
 	monster "job_wiz",124,98,"Orc Warrior",1023,1,"Room of Earth::OnMyMobDead";
@@ -1538,18 +1534,16 @@ OnEnable:
 	initnpctimer;
 	end;
 
-OnReset:
-	killmonster "job_wiz","Room of Earth::OnMyMobDead";
-	end;
-
 OnDisable:
-	hideonnpc "Room of Earth";
+	killmonsterall "job_wiz";
+	disablenpc "Room of Earth";
 	end;
 
 OnMyMobDead:
-	if (mobcount ("job_wiz","Room of Earth::OnMyMobDead") < 1) {
-		mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map;
-		donpcevent "Room of Earth#DK::OnEnable";
+	set .MyMobs,.MyMobs-1;
+	if (.MyMobs < 1) {
+		mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map;
+		donpcevent "Room of Earth#Door::OnEnable";
 		stopnpctimer;
 	}
 	end;
@@ -1592,11 +1586,11 @@ OnTimer173000:
 
 OnTimer183000:
 	mapannounce "job_wiz","Time is up.",bc_map;
-	donpcevent "Room of Earth::OnReset";
+	donpcevent "Room of Earth::OnDisable";
 	end;
 
 OnTimer184000:
-	donpcevent "Room of Earth#Failed::OnEnable";
+	enablenpc "Room of Earth#Failed";
 	end;
 
 OnTimer185000:
@@ -1604,50 +1598,47 @@ OnTimer185000:
 	end;
 
 OnTimer186000:
-	donpcevent "Room of Earth#Failed::OnDisable";
+	disablenpc "Room of Earth#Failed";
 	donpcevent "Room of Earth::OnDisable";
-	donpcevent "Waiting Room::OnEnable";
+	donpcevent "Waiting Room#wiz::OnStart";
 	end;
 }
 
-job_wiz,1,4,1	script	Room of Earth#DK	66,{
-	end;
-
+job_wiz,1,4,1	script	Room of Earth#Door	66,{
 OnInit:
-	hideonnpc "Room of Earth#DK";
+	disablenpc "Room of Earth#Door";
 	end;
 
 OnEnable:
-	hideoffnpc "Room of Earth#DK";
-	donpcevent "Room of Earth::OnReset";
+	enablenpc "Room of Earth#Door";
 	donpcevent "Room of Earth::OnDisable";
-	if (!checkre(0)){
-		monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#DK::OnMyMobDead";
+	if (!checkre(0)) {
+		set .MyMobs,7;
+		monster "job_wiz",116,97,"Flora",1118,1,"Room of Earth#Door::OnMyMobDead";
 	}
-	monster "job_wiz",114,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead";
-	monster "job_wiz",118,95,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead";
-	monster "job_wiz",114,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead";
-	monster "job_wiz",118,99,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead";
-	monster "job_wiz",116,94,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead";
-	monster "job_wiz",116,100,"Mandragora",1020,1,"Room of Earth#DK::OnMyMobDead";
+	else
+		set .MyMobs,6;
+	monster "job_wiz",114,95,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead";
+	monster "job_wiz",118,95,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead";
+	monster "job_wiz",114,99,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead";
+	monster "job_wiz",118,99,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead";
+	monster "job_wiz",116,94,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead";
+	monster "job_wiz",116,100,"Mandragora",1020,1,"Room of Earth#Door::OnMyMobDead";
 	initnpctimer;
 	end;
 
-OnReset:
-	killmonster "job_wiz","Room of Earth#DK::OnMyMobDead";
-	end;
-
 OnDisable:
-	hideonnpc "Room of Earth#DK";
+	killmonsterall "job_wiz";
+	disablenpc "Room of Earth#Door";
 	end;
 
 OnMyMobDead:
-	if (mobcount ("job_wiz","Room of Earth#DK::OnMyMobDead") < 1) {
-		mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map;
+	set .MyMobs,.MyMobs-1;
+	if (.MyMobs < 1) {
+		mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monster.",bc_map;
 		percentheal 100,100;
 		warp "job_wiz",46,99;
-		donpcevent "Room of Earth#DK::OnReset";
-		donpcevent "Room of Earth#DK::OnDisable";
+		donpcevent "Room of Earth#Door::OnDisable";
 		donpcevent "Room of Fire::OnEnable";
 		stopnpctimer;
 	}
@@ -1667,7 +1658,7 @@ OnTimer50000:
 
 OnTimer60000:
 	mapannounce "job_wiz","End time.",bc_map;
-	donpcevent "Room of Earth#DK::OnReset";
+	donpcevent "Room of Earth#Door::OnDisable";
 	end;
 
 OnTimer61000:
@@ -1679,67 +1670,58 @@ OnTimer62000:
 	end;
 
 OnTimer63000:
-	donpcevent "Room of Earth#Failed::OnDisable";
-	donpcevent "Room of Earth#DK::OnDisable";
-	donpcevent "Waiting Room::OnEnable";
+	disablenpc "Room of Earth#Failed";
+	donpcevent "Room of Earth#Door::OnDisable";
+	donpcevent "Waiting Room#wiz::OnStart";
 	end;
 }
 
-job_wiz,116,97,0	script	Room of Earth#Failed	139,16,16,{
-
-OnTouch:
-	mapannounce "job_wiz","" + strcharinfo(0) + " has not succeeded.",bc_map;
-	warp "geffen",120,110;
-	end;
-
+job_wiz,116,97,0	script	Room of Earth#Failed	-1,16,16,{
 OnInit:
-	hideonnpc "Room of Earth#Failed";
+	disablenpc "Room of Earth#Failed";
 	end;
 
-OnEnable:
-	hideoffnpc "Room of Earth#Failed";
-	end;
-
-OnDisable:
-	hideonnpc "Room of Earth#Failed";
+OnTouch:
+	mapannounce "job_wiz",strcharinfo(0) + " has not succeeded.",bc_map;
+	warp "geffen",120,110;
 	end;
 }
 
+// Fire Room (Test 2 part 3)
+//==========================================================
 job_wiz,1,5,1	script	Room of Fire	66,{
-	end;
-
 OnInit:
-	hideonnpc "Room of Fire";
+	disablenpc "Room of Fire";
 	end;
 
 OnEnable:
-	hideoffnpc "Room of Fire";
-	percentheal 100,100;
-	if (!checkre(0)){
+	enablenpc "Room of Fire";
+	if (!checkre(0)) {
+		set .MyMobs,8;
 		monster "job_wiz",58,110,"Zerom",1178,1,"Room of Fire::OnMyMobDead";
 		monster "job_wiz",54,89,"Desert Wolf",1106,1,"Room of Fire::OnMyMobDead";
 	}
+	else
+		set .MyMobs,6;
 	monster "job_wiz",33,110,"Goblin",1123,1,"Room of Fire::OnMyMobDead";
 	monster "job_wiz",40,103,"Scorpion",1001,1,"Room of Fire::OnMyMobDead";
 	monster "job_wiz",51,103,"Frilldora",1119,1,"Room of Fire::OnMyMobDead";
-	monster "job_wiz",40,92,"Peco Peco",1019,1,"Room of Fire::OnMyMobDead";
+	monster "job_wiz",40,92,"PecoPeco",1019,1,"Room of Fire::OnMyMobDead";
 	monster "job_wiz",51,92,"Elder Willow",1033,1,"Room of Fire::OnMyMobDead";
 	monster "job_wiz",37,89,"Metaller",1058,1,"Room of Fire::OnMyMobDead";
 	initnpctimer;
 	end;
 
-OnReset:
-	killmonster "job_wiz","Room of Fire::OnMyMobDead";
-	end;
-
 OnDisable:
-	hideonnpc "Room of Fire";
+	killmonsterall "job_wiz";
+	disablenpc "Room of Fire";
 	end;
 
 OnMyMobDead:
-	if (mobcount ("job_wiz","Room of Fire::OnMyMobDead") < 1) {
-		mapannounce "job_wiz","" + strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map;
-		donpcevent "Room of Fire#Door Keeper::OnEnable";
+	set .MyMobs,.MyMobs-1;
+	if (.MyMobs < 1) {
+		mapannounce "job_wiz",strcharinfo(0) + " has succeeded in eliminating the monsters.",bc_map;
+		donpcevent "Room of Fire#Door::OnEnable";
 		stopnpctimer;
 	}
 	end;
@@ -1782,7 +1764,7 @@ OnTimer173000:
 
 OnTimer183000:
 	mapannounce "job_wiz","Time is up.",bc_map;
-	donpcevent "Room of Fire::OnReset";
+	donpcevent "Room of Fire::OnDisable";
 	end;
 
 OnTimer184000:
@@ -1794,47 +1776,46 @@ OnTimer185000:
 	end;
 
 OnTimer186000:
-	donpcevent "Room of Fire#Failed::OnDisable";
+	disablenpc "Room of Fire#Failed";
 	donpcevent "Room of Fire::OnDisable";
-	donpcevent "Waiting Room::OnEnable";
+	donpcevent "Waiting Room#wiz::OnStart";
 	end;
 }
 
-job_wiz,1,6,1	script	Room of Fire#Door Keeper	66,{
-	end;
-
+job_wiz,1,6,1	script	Room of Fire#Door	66,{
 OnInit:
-	hideonnpc "Room of Fire#Door Keeper";
+	disablenpc "Room of Fire#Door";
 	end;
 
 OnEnable:
-	hideoffnpc "Room of Fire#Door Keeper";
-	donpcevent "Room of Fire::OnReset";
+	enablenpc "Room of Fire#Door";
 	donpcevent "Room of Fire::OnDisable";
-	if (checkre(0)){
-		monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door Keeper::OnMyMobDead";
+	set .MyMobs,3;
+	monster "job_wiz",44,99,"Greatest General",1277,1,"Room of Fire#Door::OnMyMobDead";
+	if (checkre(0)) {
+		monster "job_wiz",43,99,"Greatest General",1277,1,"Room of Fire#Door::OnMyMobDead";
+		monster "job_wiz",45,99,"Greatest General",1277,1,"Room of Fire#Door::OnMyMobDead";
+	}
+	else {
+		monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door::OnMyMobDead";
+		monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door::OnMyMobDead";
 	}
-	monster "job_wiz",43,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead";
-	monster "job_wiz",45,99,"Horong",1129,1,"Room of Fire#Door Keeper::OnMyMobDead";
 	initnpctimer;
 	end;
 
-OnReset:
-	killmonster "job_wiz","Room of Fire#Door Keeper::OnMyMobDead";
-	end;
-
 OnDisable:
-	hideonnpc "Room of Fire#Door Keeper";
+	killmonsterall "job_wiz";
+	disablenpc "Room of Fire#Door";
 	end;
 
 OnMyMobDead:
-	if (mobcount ("job_wiz","Room of Fire#Door Keeper::OnMyMobDead") < 1) {
+	set .MyMobs,.MyMobs-1;
+	if (.MyMobs < 1) {
 		mapannounce "job_wiz","Congratulations, " + strcharinfo(0) + ". You have passed the job change test.",bc_map;
 		set WIZ_Q,7;
 		changequest 9017,9018;
-		donpcevent "Room of Fire#Door Keeper::OnReset";
-		donpcevent "Room of Fire#Door Keeper::OnDisable";
-		donpcevent "Test Helper::OnEnable";
+		donpcevent "Room of Fire#Door::OnDisable";
+		donpcevent "Test Helper#wiz::OnEnable";
 		stopnpctimer;
 	}
 	end;
@@ -1861,11 +1842,11 @@ OnTimer110000:
 
 OnTimer120000:
 	mapannounce "job_wiz","Time is up.",bc_map;
-	donpcevent "Room of Fire#Door Keeper::OnReset";
+	donpcevent "Room of Fire#Door::OnDisable";
 	end;
 
 OnTimer121000:
-	donpcevent "Room of Fire#Failed::OnEnable";
+	enablenpc "Room of Fire#Failed";
 	end;
 
 OnTimer122000:
@@ -1873,57 +1854,26 @@ OnTimer122000:
 	end;
 
 OnTimer123000:
-	donpcevent "Room of Fire#Failed::OnDisable";
-	donpcevent "Room of Fire#Door Keeper::OnDisable";
-	donpcevent "Waiting Room::OnEnable";
-	end;
+	disablenpc "Room of Fire#Failed";
+	donpcevent "Room of Fire#Door::OnDisable";
+	donpcevent "Waiting Room#wiz::OnStart";
 }
 
-job_wiz,46,99,0	script	Room of Fire#Failed	139,16,16,{
-	end;
-
+job_wiz,46,99,0	script	Room of Fire#Failed	-1,16,16,{
 OnInit:
-	hideonnpc "Room of Fire#Failed";
+	disablenpc "Room of Fire#Failed";
 	end;
 
 OnTouch:
 	warp "geffen",120,110;
 	end;
-
-OnEnable:
-	hideoffnpc "Room of Fire#Failed";
-	end;
-
-OnDisable:
-	hideonnpc "Room of Fire#Failed";
-	end;
-}
-
-job_wiz,46,99,0	script	Succeed	139,16,16,{
-	end;
-
-OnInit:
-	hideonnpc "Succeed";
-	end;
-
-OnTouch:
-	warp "gef_tower",110,30;
-	end;
-
-OnEnable:
-	hideoffnpc "Succeed";
-	end;
-
-OnDisable:
-	hideonnpc "Succeed";
-	end;
 }
 
-job_wiz,1,7,1	script	Test Helper	66,1,1,{
+job_wiz,1,7,1	script	Test Helper#wiz	66,{
 	end;
 
 OnInit:
-	hideonnpc "Test Helper";
+	disablenpc "Test Helper#wiz";
 	end;
 
 OnEnable:
@@ -1931,7 +1881,7 @@ OnEnable:
 	end;
 
 OnDisable:
-	hideonnpc "Test Helper";
+	disablenpc "Test Helper#wiz";
 	end;
 
 OnTimer2000:
@@ -1943,11 +1893,7 @@ OnTimer4000:
 	end;
 
 OnTimer5000:
-	donpcevent "Succeed::OnEnable";
-	end;
-
-OnTimer6000:
-	donpcevent "Succeed::OnDisable";
+	areawarp "job_wiz",33,82,57,113,"gef_tower",110,30;
 	end;
 
 OnTimer7000:
@@ -1955,8 +1901,8 @@ OnTimer7000:
 	end;
 
 OnTimer9000:
-	donpcevent "Test Helper::OnDisable";
-	donpcevent "Waiting Room::OnEnable";
+	donpcevent "Test Helper#wiz::OnDisable";
+	donpcevent "Waiting Room#wiz::OnStart";
 	stopnpctimer;
 	end;
 }

+ 4 - 1
npc/jobs/2-2/alchemist.txt

@@ -2364,8 +2364,9 @@ alde_alche,145,19,1	script	Chief Researcher	57,{
 			if (select("partisan:partizan:pato:paros:pack") == 2) {
 				set @alch_q, @alch_q + 10;
 			}
+			next;
 		}
-		else if (.@alche_puz == 2) {
+		if (.@alche_puz == 2) {
 			mes "m p d i c f a r o g n k w a s";
 			next;
 			set @alch_q, 0;
@@ -2387,6 +2388,7 @@ alde_alche,145,19,1	script	Chief Researcher	57,{
 			if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) {
 				set @alch_q, @alch_q + 10;
 			}
+			next;
 		}
 		else {
 			mes "s m i e x b w u n e t a g l r";
@@ -2410,6 +2412,7 @@ alde_alche,145,19,1	script	Chief Researcher	57,{
 			if (select("forgemerchant:potionmerchant:dcmerchant:vendingmerchant:battlemerchant") == 2) {
 				set @alch_q, @alch_q + 10;
 			}
+			next;
 		}
 		mes "[Nicholas Flamel]";
 		mes "Ah, you finished.";

+ 49 - 40
npc/jobs/2-2/crusader.txt

@@ -1447,7 +1447,7 @@ OnTimer301000:
 	end;
 
 OnInit:
-	hideoffnpc "Summoner#1";
+	enablenpc "Summoner#1";
 	monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead";
 	monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead";
 	monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead";
@@ -1464,7 +1464,7 @@ OnInit:
 	end;
 
 OnEnable:
-	hideoffnpc "Summoner#1";
+	enablenpc "Summoner#1";
 	monster "job_cru",94,45,"Mandragora",1020,1,"Summoner#1::OnMyMobDead";
 	monster "job_cru",94,55,"Mandragora",1020,1,"Summoner#1::OnMyMobDead";
 	monster "job_cru",94,65,"Mandragora",1020,1,"Summoner#1::OnMyMobDead";
@@ -1485,7 +1485,7 @@ OnReset:
 	end;
 
 OnDisable:
-	hideonnpc "Summoner#1";
+	disablenpc "Summoner#1";
 	end;
 
 OnMyMobDead:
@@ -1510,7 +1510,7 @@ OnTimer346000:
 	end;
 
 OnInit:
-	hideoffnpc "Summoner#2";
+	enablenpc "Summoner#2";
 	monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead";
 	monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead";
 	monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead";
@@ -1522,7 +1522,7 @@ OnInit:
 	end;
 
 OnEnable:
-	hideoffnpc "Summoner#2";
+	enablenpc "Summoner#2";
 	monster "job_cru",98,50,"Flora",1118,1,"Summoner#2::OnMyMobDead";
 	monster "job_cru",92,60,"Flora",1118,1,"Summoner#2::OnMyMobDead";
 	monster "job_cru",104,60,"Flora",1118,1,"Summoner#2::OnMyMobDead";
@@ -1538,7 +1538,7 @@ OnReset:
 	end;
 
 OnDisable:
-	hideonnpc "Summoner#2";
+	disablenpc "Summoner#2";
 	end;
 
 OnMyMobDead:
@@ -1563,7 +1563,7 @@ OnTimer346000:
 	end;
 
 OnInit:
-	hideoffnpc "Summoner#3";
+	enablenpc "Summoner#3";
 	monster "job_cru",92,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead";
 	monster "job_cru",104,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead";
 	monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead";
@@ -1576,7 +1576,7 @@ OnInit:
 	end;
 
 OnEnable:
-	hideoffnpc "Summoner#3";
+	enablenpc "Summoner#3";
 	monster "job_cru",90,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead";
 	monster "job_cru",105,50,"Greatest General",1277,1,"Summoner#3::OnMyMobDead";
 	monster "job_cru",98,60,"Greatest General",1277,1,"Summoner#3::OnMyMobDead";
@@ -1593,7 +1593,7 @@ OnReset:
 	end;
 
 OnDisable:
-	hideonnpc "Summoner#3";
+	disablenpc "Summoner#3";
 	end;
 
 OnMyMobDead:
@@ -1618,7 +1618,7 @@ OnTimer186000:
 	end;
 
 OnInit:
-	hideoffnpc "Summoner#4";
+	enablenpc "Summoner#4";
 	monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead";
 	monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead";
 	monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead";
@@ -1634,7 +1634,7 @@ OnInit:
 	end;
 
 OnEnable:
-	hideoffnpc "Summoner#4";
+	enablenpc "Summoner#4";
 	monster "job_cru",98,50,"Familiar",1005,1,"Summoner#4::OnMyMobDead";
 	monster "job_cru",98,55,"Familiar",1005,1,"Summoner#4::OnMyMobDead";
 	monster "job_cru",98,60,"Familiar",1005,1,"Summoner#4::OnMyMobDead";
@@ -1654,7 +1654,7 @@ OnReset:
 	end;
 
 OnDisable:
-	hideonnpc "Summoner#4";
+	disablenpc "Summoner#4";
 	end;
 
 OnMyMobDead:
@@ -1663,6 +1663,7 @@ OnMyMobDead:
 }
 
 job_cru,98,105,0	script	Summoner#5	45,4,3,{
+	end;
 
 OnTouch:
 	set CRUS_Q,6;
@@ -1691,7 +1692,7 @@ job_cru,24,187,2	script	Waiting Room#1	700,{
 	end;
 
 OnInit:
-	hideonnpc "Waiting Room#1";
+	disablenpc "Waiting Room#1";
 	waitingroom "Waiting Room",20,"Waiting Room#1::OnStartArena",1;
 	enablewaitingroomevent;
 	end;
@@ -1708,6 +1709,7 @@ OnEnable:
 }
 
 job_cru,168,17,0	script	Zombie Guide	139,2,2,{
+	end;
 
 OnTouch:
 	mes "[Bliant Piyord]";
@@ -1728,11 +1730,11 @@ job_cru,2,1,1	script	Monster Summon#0	110,1,1,{
 	end;
 
 OnInit:
-	hideonnpc "Monster Summon#0";
+	disablenpc "Monster Summon#0";
 	end;
 
 OnEnable:
-	hideoffnpc "Monster Summon#0";
+	enablenpc "Monster Summon#0";
 	donpcevent "Monster Summon#1::OnEnable";
 	donpcevent "Monster Summon#2::OnEnable";
 	donpcevent "Monster Summon#3::OnEnable";
@@ -1767,7 +1769,7 @@ OnMyMobDead:
 	end;
 
 OnDisable:
-	hideonnpc "Monster Summon#0";
+	disablenpc "Monster Summon#0";
 	end;
 
 OnReset:
@@ -1776,6 +1778,7 @@ OnReset:
 }
 
 job_cru,168,45,0	script	Monster Summon#1	139,15,1,{
+	end;
 
 OnTouch:
 	donpcevent "Monster Summon#0::OnM1";
@@ -1783,19 +1786,20 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "Monster Summon#1";
+	disablenpc "Monster Summon#1";
 	end;
 
 OnEnable:
-	hideoffnpc "Monster Summon#1";
+	enablenpc "Monster Summon#1";
 	end;
 
 OnDisable:
-	hideonnpc "Monster Summon#1";
+	disablenpc "Monster Summon#1";
 	end;
 }
 
 job_cru,168,80,0	script	Monster Summon#2	139,15,1,{
+	end;
 
 OnTouch:
 	donpcevent "Monster Summon#0::OnM2";
@@ -1803,19 +1807,20 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "Monster Summon#2";
+	disablenpc "Monster Summon#2";
 	end;
 
 OnEnable:
-	hideoffnpc "Monster Summon#2";
+	enablenpc "Monster Summon#2";
 	end;
 
 OnDisable:
-	hideonnpc "Monster Summon#2";
+	disablenpc "Monster Summon#2";
 	end;
 }
 
 job_cru,168,115,0	script	Monster Summon#3	139,15,1,{
+	end;
 
 OnTouch:
 	monster "job_cru",168,110,"Archer Skeleton",1016,1;
@@ -1824,19 +1829,20 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "Monster Summon#3";
+	disablenpc "Monster Summon#3";
 	end;
 
 OnEnable:
-	hideoffnpc "Monster Summon#3";
+	enablenpc "Monster Summon#3";
 	end;
 
 OnDisable:
-	hideonnpc "Monster Summon#3";
+	disablenpc "Monster Summon#3";
 	end;
 }
 
 job_cru,168,150,0	script	Monster Summon#4	139,15,1,{
+	end;
 
 OnTouch:
 	monster "job_cru",168,150,"Ghoul",1036,1;
@@ -1844,7 +1850,7 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "Monster Summon#4";
+	disablenpc "Monster Summon#4";
 	end;
 
 OnMyMobDead:
@@ -1852,7 +1858,7 @@ OnMyMobDead:
 	end;
 
 OnEnable:
-	hideoffnpc "Monster Summon#4";
+	enablenpc "Monster Summon#4";
 	end;
 
 OnReset:
@@ -1860,11 +1866,12 @@ OnReset:
 	end;
 
 OnDisable:
-	hideonnpc "Monster Summon#4";
+	disablenpc "Monster Summon#4";
 	end;
 }
 
 job_cru,168,180,0	script	Monster Summon#5	45,4,3,{
+	end;
 
 OnTouch:
 	warp "prt_castle",35,147;
@@ -1877,15 +1884,15 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "Monster Summon#5";
+	disablenpc "Monster Summon#5";
 	end;
 
 OnEnable:
-	hideoffnpc "Monster Summon#5";
+	enablenpc "Monster Summon#5";
 	end;
 
 OnDisable:
-	hideonnpc "Monster Summon#5";
+	disablenpc "Monster Summon#5";
 	end;
 }
 
@@ -1922,16 +1929,16 @@ OnTimer243000:
 	end;
 
 OnInit:
-	hideonnpc "Monster Summon#6";
+	disablenpc "Monster Summon#6";
 	end;
 
 OnEnable:
-	hideoffnpc "Monster Summon#6";
+	enablenpc "Monster Summon#6";
 	initnpctimer;
 	end;
 
 OnDisable:
-	hideonnpc "Monster Summon#6";
+	disablenpc "Monster Summon#6";
 	end;
 
 OnStop:
@@ -1940,39 +1947,41 @@ OnStop:
 }
 
 job_cru,168,110,0	script	Monster Summon#7	139,14,82,{
+	end;
 
 OnTouch:
 	warp "prontera",234,318;
 	end;
 
 OnInit:
-	hideonnpc "Monster Summon#7";
+	disablenpc "Monster Summon#7";
 	end;
 
 OnEnable:
-	hideoffnpc "Monster Summon#7";
+	enablenpc "Monster Summon#7";
 	end;
 
 OnDisable:
-	hideonnpc "Monster Summon#7";
+	disablenpc "Monster Summon#7";
 	end;
 }
 
 job_cru,168,17,0	script	Monster Summon#8	139,14,5,{
+	end;
 
 OnTouch:
 	warp "prontera",234,318;
 	end;
 
 OnInit:
-	hideonnpc "Monster Summon#8";
+	disablenpc "Monster Summon#8";
 	end;
 
 OnEnable:
-	hideoffnpc "Monster Summon#8";
+	enablenpc "Monster Summon#8";
 	end;
 
 OnDisable:
-	hideonnpc "Monster Summon#8";
+	disablenpc "Monster Summon#8";
 	end;
 }

+ 24 - 16
npc/jobs/2-2/dancer.txt

@@ -1303,6 +1303,7 @@ OnTimer89000:
 }
 
 job_duncer,69,110,0	script	dance#return	139,1,4,{
+	end;
 
 OnTouch:
 	mapannounce "job_duncer","Good! Well done! Go back to Bijou!",bc_map;
@@ -1312,18 +1313,19 @@ OnTouch:
 	end;
 
 OnDisable:
-	hideonnpc "dance#return";
+	disablenpc "dance#return";
 	donpcevent "dance#return#2::OnDisable";
 	donpcevent "dance#return#3::OnDisable";
 	end;
 
 OnEnable:
-	hideoffnpc "dance#return";
+	enablenpc "dance#return";
 	donpcevent "dance#return#2::OnEnable";
 	end;
 }
 
 job_duncer,66,110,0	script	dance#return#2	139,1,1,{
+	end;
 
 OnTouch:
 	set DANC_Q,9;
@@ -1332,16 +1334,17 @@ OnTouch:
 	end;
 
 OnDisable:
-	hideonnpc "dance#return#2";
+	disablenpc "dance#return#2";
 	end;
 
 OnEnable:
-	hideoffnpc "dance#return#2";
+	enablenpc "dance#return#2";
 	donpcevent "dance#return#3::OnEnable";
 	end;
 }
 
 job_duncer,72,110,0	script	dance#return#3	139,1,1,{
+	end;
 
 OnTouch:
 	set DANC_Q,9;
@@ -1350,16 +1353,17 @@ OnTouch:
 	end;
 
 OnDisable:
-	hideonnpc "dance#return#3";
+	disablenpc "dance#return#3";
 	end;
 
 OnEnable:
-	hideoffnpc "dance#return#3";
+	enablenpc "dance#return#3";
 	donpcevent "Waiting Room#dance::OnReset";
 	end;
 }
 
 job_duncer,69,113,0	script	dance#up	139,1,1,{
+	end;
 
 OnTouch:
 	donpcevent "Backdancer#1::OnHuk";
@@ -1370,15 +1374,16 @@ OnTouch:
 	end;
 
 OnDisable:
-	hideonnpc "dance#up";
+	disablenpc "dance#up";
 	end;
 
 OnEnable:
-	hideoffnpc "dance#up";
+	enablenpc "dance#up";
 	end;
 }
 
 job_duncer,69,107,0	script	dance#down	139,1,1,{
+	end;
 
 OnTouch:
 	donpcevent "Backdancer#1::OnHuk";
@@ -1389,15 +1394,16 @@ OnTouch:
 	end;
 
 OnDisable:
-	hideonnpc "dance#down";
+	disablenpc "dance#down";
 	end;
 
 OnEnable:
-	hideoffnpc "dance#down";
+	enablenpc "dance#down";
 	end;
 }
 
 job_duncer,66,110,0	script	dance#left	139,1,1,{
+	end;
 
 OnTouch:
 	donpcevent "Backdancer#1::OnHuk";
@@ -1408,15 +1414,16 @@ OnTouch:
 	end;
 
 OnDisable:
-	hideonnpc "dance#left";
+	disablenpc "dance#left";
 	end;
 
 OnEnable:
-	hideoffnpc "dance#left";
+	enablenpc "dance#left";
 	end;
 }
 
 job_duncer,72,110,0	script	dance#right	139,1,1,{
+	end;
 
 OnTouch:
 	donpcevent "Backdancer#1::OnHuk";
@@ -1427,15 +1434,16 @@ OnTouch:
 	end;
 
 OnDisable:
-	hideonnpc "dance#right";
+	disablenpc "dance#right";
 	end;
 
 OnEnable:
-	hideoffnpc "dance#right";
+	enablenpc "dance#right";
 	end;
 }
 
 job_duncer,69,110,0	script	dance#cen	139,1,1,{
+	end;
 
 OnTouch:
 	donpcevent "Backdancer#1::OnHuk";
@@ -1446,11 +1454,11 @@ OnTouch:
 	end;
 
 OnDisable:
-	hideonnpc "dance#cen";
+	disablenpc "dance#cen";
 	end;
 
 OnEnable:
-	hideoffnpc "dance#cen";
+	enablenpc "dance#cen";
 	end;
 }
 

+ 18 - 0
npc/jobs/2-2/monk.txt

@@ -3188,6 +3188,7 @@ monk_test,82,85,1	script	Proctor	95,{
 }
 
 monk_test,144,277,0	script	mob_monk#1_1	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",144,277,"Zombie",1015,1;
@@ -3202,6 +3203,7 @@ OnReset:
 }
 
 monk_test,134,291,0	script	mob_monk#1_2	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",134,291,"Zombie",1015,1;
@@ -3216,6 +3218,7 @@ OnReset:
 }
 
 monk_test,157,284,0	script	mob_monk#1_3	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",157,284,"Mummy",1041,1;
@@ -3227,6 +3230,7 @@ OnReset:
 }
 
 monk_test,156,261,0	script	mob_monk#1_4	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",156,261,"Mummy",1041,1;
@@ -3238,6 +3242,7 @@ OnReset:
 }
 
 monk_test,149,268,0	script	mob_monk#1_5	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",149,268,"Zombie",1015,1;
@@ -3253,6 +3258,7 @@ OnReset:
 }
 
 monk_test,166,278,0	script	exit_monk#1	45,1,1,{
+	end;
 
 OnTouch:
 	mes "[Proctor]";
@@ -3301,6 +3307,7 @@ monk_test,88,91,1	script	Proctor#mk	52,{
 }
 
 monk_test,140,181,0	script	mob_monk#2_1	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",140,181,"Zombie",1015,1;
@@ -3315,6 +3322,7 @@ OnReset:
 }
 
 monk_test,150,164,0	script	mob_monk#2_2	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",150,164,"Zombie",1015,1;
@@ -3329,6 +3337,7 @@ OnReset:
 }
 
 monk_test,158,192,0	script	mob_monk#2_3	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",158,192,"Mummy",1041,1;
@@ -3340,6 +3349,7 @@ OnReset:
 }
 
 monk_test,165,186,0	script	mob_monk#2_4	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",165,186,"Mummy",1041,1;
@@ -3351,6 +3361,7 @@ OnReset:
 }
 
 monk_test,162,182,0	script	mob_monk#2_5	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",162,182,"Zombie",1015,1;
@@ -3366,6 +3377,7 @@ OnReset:
 }
 
 monk_test,166,178,0	script	exit_monk#2	45,1,1,{
+	end;
 
 OnTouch:
 	mes "[Proctor]";
@@ -3414,6 +3426,7 @@ monk_test,95,85,1	script	Proctor#btl#3	79,{
 }
 
 monk_test,249,277,0	script	mob_monk#3_1	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",249,277,"Zombie",1015,1;
@@ -3428,6 +3441,7 @@ OnReset:
 }
 
 monk_test,231,296,0	script	mob_monk#3_2	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",231,296,"Zombie",1015,1;
@@ -3442,6 +3456,7 @@ OnReset:
 }
 
 monk_test,264,292,0	script	mob_monk#3_3	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",264,292,"Mummy",1041,1;
@@ -3453,6 +3468,7 @@ OnReset:
 }
 
 monk_test,252,284,0	script	mob_monk#3_4	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",252,284,"Mummy",1041,1;
@@ -3464,6 +3480,7 @@ OnReset:
 }
 
 monk_test,257,285,0	script	mob_monk#3_5	139,1,1,{
+	end;
 
 OnTouch:
 	monster "monk_test",257,285,"Zombie",1015,1;
@@ -3480,6 +3497,7 @@ OnReset:
 }
 
 monk_test,270,278,0	script	exit_monk#3	45,1,1,{
+	end;
 
 OnTouch:
 	mes "[Proctor]";

+ 26 - 0
npc/jobs/2-2/rogue.txt

@@ -1122,6 +1122,7 @@ in_rogue,376,23,1	script	Mr. Smith	57,{
 }
 
 cmd_fild09,106,195,0	script	Warp#1	45,1,1,{
+	end;
 
 OnTouch:
 	if (ROGUE_Q < 8){
@@ -1217,6 +1218,7 @@ OnTouch:
 }
 
 cmd_fild09,335,143,0	script	Warp#2	45,1,1,{
+	end;
 
 OnTouch:
 	if (ROGUE_Q < 8){
@@ -1312,6 +1314,7 @@ OnTouch:
 }
 
 cmd_fild04,304,180,0	script	Warp#3	45,1,1,{
+	end;
 
 OnTouch:
 	if (ROGUE_Q < 8){
@@ -1459,6 +1462,7 @@ in_rogue,272,135,1	script	Hermanthorn Jr	85,{
 }
 
 in_rogue,270,130,0	script	he_to_rogue	45,1,1,{
+	end;
 
 OnTouch:
 	if (ROGUE_Q == 12) {
@@ -1502,6 +1506,7 @@ OnTouch:
 }
 
 in_rogue,200,389,0	script	gen_ro#1	139,3,3,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1521,6 +1526,7 @@ OnDisable:
 }
 
 in_rogue,100,389,0	script	gen_ro#2	139,3,3,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1537,6 +1543,7 @@ OnDisable:
 }
 
 in_rogue,150,389,0	script	gen_ro#3	139,3,3,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1554,6 +1561,7 @@ OnDisable:
 }
 
 in_rogue,250,389,0	script	gen_ro#4	139,3,3,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1570,6 +1578,7 @@ OnDisable:
 }
 
 in_rogue,9,389,0	script	oneway_to_gu	45,1,1,{
+	end;
 
 OnTouch:
 	donpcevent "gen_ro#4::OnDisable";
@@ -1838,6 +1847,7 @@ in_rogue,177,109,1	script	Antonio Junior	88,{
 in_rogue,161,103,0	warp	out#1	1,1,cmd_fild04,302,177
 
 in_rogue,370,320,0	script	quest_out	45,1,1,{
+	end;
 
 OnTouch:
 	set ROGUE_Q,16;
@@ -1847,6 +1857,7 @@ OnTouch:
 }
 
 in_rogue,15,184,0	script	mob_rogue#1	139,8,1,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1867,6 +1878,7 @@ OnReset:
 }
 
 in_rogue,15,273,0	script	mob_rogue#2	139,8,1,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1884,6 +1896,7 @@ OnReset:
 }
 
 in_rogue,15,333,0	script	mob_rogue#3	139,8,1,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1905,6 +1918,7 @@ OnReset:
 }
 
 in_rogue,39,341,0	script	mob_rogue#4	139,1,8,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1923,6 +1937,7 @@ OnReset:
 }
 
 in_rogue,102,334,0	script	mob_rogue#5	139,1,4,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1941,6 +1956,7 @@ OnReset:
 }
 
 in_rogue,58,309,0	script	mob_rogue#6	139,4,1,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1959,6 +1975,7 @@ OnReset:
 }
 
 in_rogue,101,264,0	script	mob_rogue#7	139,5,5,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1975,6 +1992,7 @@ OnReset:
 }
 
 in_rogue,140,312,0	script	mob_rogue#8	139,5,5,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -1990,6 +2008,7 @@ OnReset:
 }
 
 in_rogue,139,246,0	script	mob_rogue#9	139,4,4,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -2010,6 +2029,7 @@ OnReset:
 }
 
 in_rogue,197,249,0	script	mob_rogue#10	139,1,8,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -2043,6 +2063,7 @@ OnReset:
 }
 
 in_rogue,96,205,0	script	mob_rogue#11	139,1,8,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -2057,6 +2078,7 @@ OnTouch:
 }
 
 in_rogue,86,187,0	script	mob_rogue#12	139,1,8,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -2073,6 +2095,7 @@ OnReset:
 }
 
 in_rogue,223,187,0	script	mob_rogue#13	139,1,8,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -2091,6 +2114,7 @@ OnReset:
 }
 
 in_rogue,233,207,0	script	mob_rogue#14	139,8,3,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -2102,6 +2126,7 @@ OnTouch:
 }
 
 in_rogue,244,319,0	script	mob_rogue#15	139,1,8,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {
@@ -2122,6 +2147,7 @@ OnReset:
 }
 
 in_rogue,334,319,0	script	mob_rogue#16	139,8,8,{
+	end;
 
 OnTouch:
 	if (Class == Job_Baby_Thief || Class == Job_Thief) {

+ 26 - 20
npc/jobs/2-2/sage.txt

@@ -959,6 +959,7 @@ yuno_in03,105,177,5	script	Written Test Professor	754,{
 			if (select("Odin:Loki:Thor:Venadin") == 1) {
 				set @sage_t,@sage_t + 5;
 			}
+			next;
 		}
 		if (.@sage_m2 == 2) {
 			mes "1. Choose the jewel that the Morroc Jewel Merchant does not sell.";
@@ -1061,6 +1062,7 @@ yuno_in03,105,177,5	script	Written Test Professor	754,{
 			if (select("Yggdrasil:Iggdrassil:Mastella:Dead Branch") == 1) {
 				set @sage_t,@sage_t + 5;
 			}
+			next;
 		}
 		else {
 			mes "1. Choose the item that the Magical Tool merchant in Geffen does not sell.";
@@ -1163,6 +1165,7 @@ yuno_in03,105,177,5	script	Written Test Professor	754,{
 			if (select("Empelium Gold:Emperium:Emperor:Phracon") == 2) {
 				set @sage_t,@sage_t + 5;
 			}
+			next;
 		}
 		mes "[Claytos Verdo]";
 		mes "Well, you answered all 20 of the questions.";
@@ -1318,6 +1321,7 @@ yuno_in03,105,177,5	script	Written Test Professor	754,{
 			if (select("Odin:Loki:Thor:Venadin") == 1) {
 				set @sage_t,@sage_t + 5;
 			}
+			next;
 		}
 		if (.@sage_m2 == 2) {
 			mes "1. Choose the jewel that the Morroc Jewel Merchant does not sell.";
@@ -1420,6 +1424,7 @@ yuno_in03,105,177,5	script	Written Test Professor	754,{
 			if (select("Yggdrasil:Iggdrassil:Mastella:Dead Branch") == 1) {
 				set @sage_t,@sage_t + 5;
 			}
+			next;
 		}
 		else {
 			mes "1. Choose the item that the Magical Tool merchant in Geffen does not sell.";
@@ -1522,6 +1527,7 @@ yuno_in03,105,177,5	script	Written Test Professor	754,{
 			if (select("Empelium Gold:Emperium:Emperor:Phracon") == 2) {
 				set @sage_t,@sage_t + 5;
 			}
+			next;
 		}
 		mes "[Claytos Verdo]";
 		mes "Well, we finished all 20 questions.";
@@ -3482,7 +3488,7 @@ job_sage,50,165,2	script	Waiting Room#sg	700,{
 	end;
 
 OnInit:
-	hideonnpc "Waiting Room#sg";
+	disablenpc "Waiting Room#sg";
 	waitingroom "Waiting Room",20,"Waiting Room#sg::OnStartArena",1;
 	enablewaitingroomevent;
 	end;
@@ -3502,11 +3508,11 @@ job_sage,1,2,1	script	Arena#1	66,{
 	end;
 
 OnInit:
-	hideonnpc "Arena#1";
+	disablenpc "Arena#1";
 	end;
 
 OnEnable:
-	hideoffnpc "Arena#1";
+	enablenpc "Arena#1";
 	monster "job_sage",111,102,"Grade F",1183,1,"Arena#1::OnMyMobDead";
 	monster "job_sage",120,102,"Grade F",1183,1,"Arena#1::OnMyMobDead";
 	monster "job_sage",111,93,"Grade F",1183,1,"Arena#1::OnMyMobDead";
@@ -3531,7 +3537,7 @@ OnReset:
 	end;
 
 OnDisable:
-	hideonnpc "Arena#1";
+	disablenpc "Arena#1";
 	end;
 
 OnMyMobDead:
@@ -3602,11 +3608,11 @@ job_sage,1,3,1	script	Arena#2	66,{
 	end;
 
 OnInit:
-	hideonnpc "Arena#2";
+	disablenpc "Arena#2";
 	end;
 
 OnEnable:
-	hideoffnpc "Arena#2";
+	enablenpc "Arena#2";
 	donpcevent "Arena#1::OnReset";
 	donpcevent "Arena#1::OnDisable";
 	monster "job_sage",111,102,"Numerical Value",1063,1,"Arena#2::OnMyMobDead";
@@ -3641,7 +3647,7 @@ OnReset:
 	end;
 
 OnDisable:
-	hideonnpc "Arena#2";
+	disablenpc "Arena#2";
 	end;
 
 OnMyMobDead:
@@ -3709,11 +3715,11 @@ job_sage,1,4,1	script	Arena#Doorkeeper	66,{
 	end;
 
 OnInit:
-	hideonnpc "Arena#Doorkeeper";
+	disablenpc "Arena#Doorkeeper";
 	end;
 
 OnEnable:
-	hideoffnpc "Arena#Doorkeeper";
+	enablenpc "Arena#Doorkeeper";
 	donpcevent "Arena#2::OnReset";
 	donpcevent "Arena#2::OnDisable";
 	monster "job_sage",116,97,"Academic Probation",1179,1,"Arena#Doorkeeper::OnMyMobDead";
@@ -3727,7 +3733,7 @@ OnReset:
 
 OnDisable:
 	donpcevent "Arena#3::OnDisable";
-	hideonnpc "Arena#Doorkeeper";
+	disablenpc "Arena#Doorkeeper";
 	end;
 
 OnMyMobDead:
@@ -3781,15 +3787,15 @@ OnTouch:
 	end;
 	
 OnInit:
-	hideonnpc "Arena#Fail";
+	disablenpc "Arena#Fail";
 	end;
 
 OnEnable:
-	hideoffnpc "Arena#Fail";
+	enablenpc "Arena#Fail";
 	end;
 
 OnDisable:
-	hideonnpc "Arena#Fail";
+	disablenpc "Arena#Fail";
 	end;
 }
 
@@ -3797,7 +3803,7 @@ job_sage,1,4,1	script	Arena#3	66,{
 	end;
 
 OnInit:
-	hideonnpc "Arena#3";
+	disablenpc "Arena#3";
 	end;
 
 OnEnable:
@@ -3812,7 +3818,7 @@ OnReset:
 	end;
 
 OnDisable:
-	hideonnpc "Arena#3";
+	disablenpc "Arena#3";
 	end;
 }
 
@@ -3823,15 +3829,15 @@ OnTouch:
 	end;
 
 OnInit:
-	hideonnpc "SageSucceeded";
+	disablenpc "SageSucceeded";
 	end;
 
 OnEnable:
-	hideoffnpc "SageSucceeded";
+	enablenpc "SageSucceeded";
 	end;
 
 OnDisable:
-	hideonnpc "SageSucceeded";
+	disablenpc "SageSucceeded";
 	end;
 }
 
@@ -3839,7 +3845,7 @@ job_sage,1,6,1	script	Test Helper#sg	66,{
 	end;
 
 OnInit:
-	hideonnpc "Test Helper#sg";
+	disablenpc "Test Helper#sg";
 	end;
 
 OnEnable:
@@ -3847,7 +3853,7 @@ OnEnable:
 	end;
 
 OnDisable:
-	hideonnpc "Test Helper#sg";
+	disablenpc "Test Helper#sg";
 	end;
 
 OnTimer2000:

+ 4 - 4
npc/jobs/valkyrie.txt

@@ -53,7 +53,7 @@ valkyrie,48,86,4	script	Valkyrie#	811,{
 		mes "Honor to the warriors!";
 		close;
 	}
-	if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) {
+	if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) {
 		mes "[Valkyrie]";
 		mes "Welcome";
 		mes "to Valhalla,";
@@ -206,7 +206,7 @@ valkyrie,48,86,4	script	Valkyrie#	811,{
 }
 
 yuno_in02,88,164,5	script	Metheus Sylphe#Library	742,{
-	if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) {
+	if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) {
 		if (valkyrie_Q == 0) {
 			mes "[Metheus Sylphe]";
 			mes "Welcome to the Library of the Schweicherbil Magic Academy.";
@@ -271,7 +271,7 @@ yuno_in02,93,207,1	script	Book of Ymir	111,{
 		warp "valkyrie",48,8;
 		end;
 	}
-	if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) {
+	if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) {
 		if (valkyrie_Q != 0) {
 			mes "[The Book of Ymir]";
 			mes "...Therefore, ancient heroes were";
@@ -339,7 +339,7 @@ yuno_in02,93,207,1	script	Book of Ymir	111,{
 }
 
 yuno_in05,49,43,1	script	Heart of Ymir	111,{
-	if ((Baselevel > 98) && (JobLevel > 49) && (Class >= Job_Knight) && (Class <= Job_Crusader2)) {
+	if ((Baselevel > 98) && (JobLevel > 49) && ((Class >= Job_Knight) && (Class <= Job_Crusader2))) {
 		if (valkyrie_Q == 2) warp "valkyrie",48,8;
 	}
 	end;

+ 1 - 1
npc/pre-re/jobs/1-1/acolyte.txt

@@ -15,7 +15,7 @@
 //============================================================ 
 prt_church,184,41,4	script	Cleric#aco	60,{
 	if (Upper == 1) {
-		if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) {
+		if ((Class == Job_Novice_High) && (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion)) {
 			if (Class == Job_Novice_High) {
 				mes "[Father Mareusis]";
 				mes "Ah, I sense you have endured";

+ 1 - 1
npc/pre-re/jobs/1-1/swordman.txt

@@ -85,7 +85,7 @@ izlude_in,74,172,4	script	Swordman	119,{
 		if (Class == Job_Baby || Class == Job_Novice) {
 			if (getskilllv("NV_BASIC") < 9) {
 				mes "[Swordman Guildsman]";
-				mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJOB Level 10^000000.";
+				mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJob Level 10^000000.";
 				mes "and ^4d4dffBasic Skill Level 9^000000.";
 				next;
 				mes "[Swordman Guildsman]";

+ 1 - 1
npc/re/jobs/1-1/acolyte.txt

@@ -15,7 +15,7 @@
 //============================================================ 
 prt_church,184,41,4	script	Cleric#aco	60,{
 	if (Upper == 1) {
-		if (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion) {
+		if ((Class == Job_Novice_High) && (ADVJOB == Job_High_Priest || ADVJOB == Job_Champion)) {
 			if (Class == Job_Novice_High) {
 				mes "[Father Mareusis]";
 				mes "Ah, I sense you have endured";

+ 1 - 1
npc/re/jobs/1-1/swordman.txt

@@ -85,7 +85,7 @@ izlude_in,74,172,4	script	Swordman	119,{
 		if (Class == Job_Baby || Class == Job_Novice) {
 			if (getskilllv("NV_BASIC") < 9) {
 				mes "[Swordman Guildsman]";
-				mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJOB Level 10^000000.";
+				mes "I'm sorry to tell you this but to be a Swordman, you must reach at least ^4d4dffJob Level 10^000000.";
 				mes "and ^4d4dffBasic Skill Level 9^000000.";
 				next;
 				mes "[Swordman Guildsman]";

部分文件因为文件数量过多而无法显示