Sfoglia il codice sorgente

Updated several job quests so they work again

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6400 54d463be-8e91-2dee-dedb-b68131a5f0ec
Playtester 19 anni fa
parent
commit
ab4b65926f
6 ha cambiato i file con 1215 aggiunte e 1194 eliminazioni
  1. 1 0
      npc/Changelog.txt
  2. 4 2
      npc/jobs/2-1/hunter.txt
  3. 10 3
      npc/jobs/2-1/knight.txt
  4. 3 1
      npc/jobs/2-1/priest.txt
  5. 9 3
      npc/jobs/2-1/wizard.txt
  6. 1188 1185
      npc/jobs/2-2/crusader.txt

+ 1 - 0
npc/Changelog.txt

@@ -28,6 +28,7 @@ Nexon
 Date		Added
 ======
 04/30
+	* Updated several job quests so they work again thanks to sodaboy581 [Playtester]
 	* Fixed mjolnir_12 -> prt_maze01 warp [Playtester]
 04/27
 	* Fixed an Aldebaran Castle 4 warp again [Playtester]

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

@@ -645,7 +645,7 @@ OnStart:
 	if ((getwaitingroomstate(33)) == 0) end;			// stops the rest of the script from running if there is no one in the waiting room
 	killmonsterall "job_hunte.gat";
 	warpwaitingpc "job_hunte.gat", 90, 67;
-	donpcevent "Ev_HntRm";
+	donpcevent "Ev_HntRm::OnStart";
 	end;
 
 }
@@ -654,6 +654,7 @@ OnStart:
 // Ev_HntRm: Test room --------------------------------------------------------
 job_hunte.gat,1,1,1	script	Ev_HntRm	-1,{
 
+OnStart:
 	disablenpc "SwitchHnt";
 	disablenpc "ExitHnt";
 	set $@HntMob, 4;
@@ -664,7 +665,7 @@ job_hunte.gat,1,1,1	script	Ev_HntRm	-1,{
 	monster "job_hunte.gat",53,73,"Job Change Monster",1041,1,"Ev_HntRm::OnMyMobDead1";
 	monster "job_hunte.gat",125,70,"Job Change Monster",1016,1,"Ev_HntRm::OnMyMobDead1";
 	monster "job_hunte.gat",90,92,"Job Change Monster",1015,1,"Ev_HntRm::OnMyMobDead1";
-	donpcevent "Ev_HntRm2";
+	donpcevent "Ev_HntRm2::OnStart";
 	initnpctimer "TimerHnt";
 	end;
 
@@ -683,6 +684,7 @@ OnMyMobDead1:
 // Ev_HntRm2: Spawns the Decoy Monsters ----------------------------------------
 job_hunte.gat,1,1,1	script	Ev_HntRm2	-1,{
 
+OnStart:
 	// Decoy Monsters
 	monster "job_hunte.gat",85,100,"Test Monster",1016,1,"Ev_HntRm2::OnMyMobDead2";
 	monster "job_hunte.gat",72,102,"Test Monster",1041,1,"Ev_HntRm2::OnMyMobDead2";

+ 10 - 3
npc/jobs/2-1/knight.txt

@@ -848,12 +848,14 @@ OnStart:
 	killmonster "job_knt.gat", "KntLvl2::OnMyMobDead";
 	killmonster "job_knt.gat", "KntLvl3::OnMyMobDead";
 	warpwaitingpc "job_knt.gat",43,146;
-	donpcevent "KntLvl1";
+	donpcevent "KntLvl1::OnStart";
 	end;
 }
 
 // First Level ---------------------------------------------------------
 job_knt.gat,1,1,1	script	KntLvl1	-1,{
+
+OnStart:
 	set $@KntRm, 1;
 	set $@KntMob,12;
 	monster "job_knt.gat",39,150,"Dustiness",1114,1,"KntLvl1::OnMyMobDead";
@@ -878,13 +880,15 @@ OnMyMobDead:
 	stopnpctimer "TimerKnt";
 	areaannounce "job_knt.gat", 24, 126, 63, 165, "[Sir Windsor]: Get ready for the second level....",8;
 	set $@KntMob, 0;
-	addtimer 5000, "KntLvl2";
+	addtimer 5000, "KntLvl2::OnStart";
 	end;
 }
 
 
 // Second Level ---------------------------------------------------------
 job_knt.gat,1,1,1	script	KntLvl2	-1,{
+
+OnStart:
 	set $@KntRm, 2;
 	set $@KntMob,12;
 	monster "job_knt.gat",53,52,"Frilldora",1119,1,"KntLvl2::OnMyMobDead";
@@ -910,13 +914,15 @@ OnMyMobDead:
 	stopnpctimer "TimerKnt";
 	areaannounce "job_knt.gat", 24, 32, 63, 71, "[Sir Windsor]: Get ready for the third level....",8;
 	set $@KntMob, 0;
-	addtimer 5000, "KntLvl3";
+	addtimer 5000, "KntLvl3::OnStart";
 	end;
 
 }
 
 // Third Level ---------------------------------------------------------------
 job_knt.gat,1,1,1	script	KntLvl3	-1,{
+
+OnStart:
 	set $@KntRm, 3;
 	set $@KntMob,7;
 	monster "job_knt.gat",136,152,"Knife Goblin Bro",1122,1,"KntLvl3::OnMyMobDead";
@@ -1419,6 +1425,7 @@ L_Test:
 
 // Test -----------------------------
 job_knt.gat,1,1,1	script	ev_Test	-1,{
+
 OnStart:
 	killmonster "job_knt.gat","ev_Test::OnMyMobDead";
 	monster "job_knt.gat",141,57,"Poring",1002,1,"ev_Test::OnMyMobDead";

+ 3 - 1
npc/jobs/2-1/priest.txt

@@ -452,7 +452,7 @@ OnStart:
 	disablenpc "prst2_1";
 	warpwaitingpc "job_prist.gat", 24, 44;
 	killmonsterall "job_prist.gat";
-	donpcevent "PrstTest2_1";
+	donpcevent "PrstTest2_1::OnStart";
 	end;
 }
 
@@ -461,6 +461,8 @@ OnStart:
 //				Test 2, Part 1: Kill the Zombies				              \\
 //********************************************************************************************************************************\\
 job_prist.gat,1,1,1	script	PrstTest2_1	-1,{
+
+OnStart:
 	set $@PrstRm, 1;		//used to determine what areawarp and areaannounce to use
 	enablenpc "Zombie1_Trig";
 	enablenpc "Zombie2_Trig";

+ 9 - 3
npc/jobs/2-1/wizard.txt

@@ -1144,12 +1144,14 @@ OnStart:
 	disablenpc "firewarpS";
 	killmonsterall "job_wiz.gat";		//makes sure there are no left over mobs from other testers
 	warpwaitingpc "job_wiz.gat",114,169;
-	donpcevent "WaterRm";
+	donpcevent "WaterRm::OnStart";
 	end;
 }
 
 // Room of Water  -----------------------------------------------------------------------------
 job_wiz.gat,1,1,1	script	WaterRm	-1,{
+
+OnStart:
 	set $@WzRm, 1;		// used to determine which map area(room) to make time announcements in
 	set $@WzMOB, 8;		//used as a counter for the monsters that are summoned
 	monster "job_wiz.gat",109,174,"Phen",1158,1,"WaterRm::OnMyMobDead1";
@@ -1202,6 +1204,8 @@ OnMyMobDead2:
 
 // Room of Earth -----------------------------------------------------------------------------------------------
 job_wiz.gat,1,1,1	script	EarthRm	-1,{
+
+OnStart:
 	set $@WzRm, 2;
 	set $@WzMOB, 10;
 	monster "job_wiz.gat",111,102,"Yoyo",1057,1,"EarthRm::OnMyMobDead1";
@@ -1258,6 +1262,8 @@ OnMyMobDead2:
 
 // Room of Fire ------------------------------------------------------------------------------------------------------------
 job_wiz.gat,1,1,1	script	FireRm	-1,{
+
+OnStart:
 	set $@WzRm, 3;
 	set $@WzMOB, 7;
 	monster "job_wiz.gat",58,110,"Zerom",1178,1,"FireRm::OnMyMobDead1";
@@ -1368,7 +1374,7 @@ job_wiz.gat,129,169,1	script	waterwarpE::waterwrp	45,1,1,{
 OnTimer30000:
 	stopnpctimer "waterwrp";
 	areawarp "job_wiz.gat", 98, 154, 129, 185, "job_wiz.gat",116,98;
-	donpcevent "EarthRm";
+	donpcevent "EarthRm::OnStart";
 	end;
 }
 job_wiz.gat,98,169,1	duplicate(waterwrp)	waterwarpW	45,1,1
@@ -1382,7 +1388,7 @@ job_wiz.gat,131,98,1	script	earthwarpE::earthwrp	45,1,1,{
 OnTimer30000:
 	stopnpctimer "earthwrp";
 	areawarp "job_wiz.gat", 100, 82, 131, 113, "job_wiz.gat",47,98;
-	donpcevent "FireRm";
+	donpcevent "FireRm::OnStart";
 	end;
 }
 job_wiz.gat,100,98,1	duplicate(earthwrp)	earthwarpW	45,1,1

+ 1188 - 1185
npc/jobs/2-2/crusader.txt

@@ -1,1185 +1,1188 @@
-////===== eAthena Script ======================================= 
-//= Crusader Quest
-//===== By: ================================================== 
-//= Made by: Black Dragon
-//= Converted by: Shin
-//=
-//===== Current Version: ===================================== 
-//= 2.0
-//===== Compatible With: ===================================== 
-//= eAthena  0.5.2 +
-//===== Description: ========================================= 
-//= 
-//===== Additional Comments: ================================= 
-//= Need optimalization and fixing
-//= thanks to Komurka, KiLLaLeN, Lupus (fixing error)
-//= just a temp Job Quest
-//= 1.2 minor fix of announcement by Freya people
-//= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward
-//=     also fixed too common script names [Lupus]
-//= 1.3a fixed "dead lock" bugs [Lupus]
-//= 1.3b changed monsters ID in patience test [Komurka]
-//= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka)
-//= 1.5 Fixed possible EXP abuse [Lupus]
-//= 1.6 Added a func which prevent advanced classes passing
-//=     2nd Job Quests again. It also guides adv classes where
-//=     to go. [Lupus]
-//= 1.7 Updated names and required items, Chivalry Emblem +
-//=     Hand of God allow to skip item gathering [DracoRPG]
-//= 2.0 Changed numbers to constants. [Vicious]
-//============================================================
-
-
-prt_castle.gat,45,169,4	script	Senior Crusader	752,{
-	callfunc "F_BlockHigh",Job_Swordman_High,"Swordman High",Job_Paladin,"Paladin","^000080Michael Halig^000000";
-
-	mes "[^000080Michael Halig^000000]";
-	if (BaseJob > 0) goto NEXT_0;
-	if (BaseJob == 0) goto NOV;
-	mes "Hello "+ strcharinfo(0);
-	mes "I see that you've registered to the ^008000Swordsman's Association^000000.";
-	TALK:
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "If you become a ^800000Swordsman^000000, you will gain the privelege of becoming a ^800000Knight^000000 or ^800000Crusader^000000.";
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "If you decide to go along the path of the ^800000Crusader^000000, come back here.";
-	mes "Just take note that you must obtain a job level of at least 40 first before you can move up to the 2nd job.";
-	close;
-	NOV:
-	mes "Hello there.";
-	goto TALK;
-NEXT_0:
-	if (BaseJob > 1) goto NEXT0;
-	if (CRUS_Q == 1) goto CONT;
-	if (CRUS_Q == 2) goto CONT0;
-	if (CRUS_Q == 3) goto CONT1;
-	if (CRUS_Q == 4) goto CONT2;
-	if (CRUS_Q > 4) goto CONT3;
-	mes "Welcome, can I help you with something?";
-	next;
-	menu "I want to become a ^800000Crusader^000000.",JOB,"What's being a ^800000Crusader^000000 like?",ASK,"What is the purpose of a ^800000Crusader^000000?",ASK0,"I was just looking around.",-;
-	mes "[^000080Michael Halig^000000]";
-	mes "Oh, all right.";
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "If you decide to take the path of the ^800000Crusader^000000, feel free to come back.";
-	close;
-	JOB:
-	mes "[^000080Michael Halig^000000]";
-	mes "All right, let me take a look at you first.";
-	next;	
-	if (JobLevel != 50) goto SKIP;
-	set JBLVL,50;
-	set CRUS_Q,5;
-	goto TEST1;
-	SKIP:
-	if (JobLevel > 39) goto OKAY;
-	mes "[^000080Michael Halig^000000]";
-	mes "I'm sorry, but you need to be at least at a job level of 40.";
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "All 2nd jobs require that.";
-	close;
-	OKAY:
-	if (SkillPoint == 0) goto OKAY0;
-	JOB0:
-	mes "[^000080Michael Halig^000000]";
-	mes "In order to become a ^800000Crusader^000000, you have to have used all your available skill points first.";
-	close;
-	OKAY0:
-	mes "[^000080Michael Halig^000000]";
-	mes "Everything looks all right.";
-	set CRUS_Q,1;
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "All right, shall we begin the tests?";
-	next;
-	menu "Yes, of course.",OKAY1,"Not yet.",-;
-	mes "[^000080Michael Halig^000000]";
-	mes "Oh, all right.  Come back when you're ready.";
-	close;
-	OKAY1:
-	if (SkillPoint != 0) goto JOB0;
-	set CRUS_Q,2;
-	mes "[^000080Michael Halig^000000]";
-	mes "All right, the first test requires you to collect items.";
-	next;
-	set CRUS_Q, rand (2);
-	set CRUS_Q,CRUS_Q + 3;
-	mes "[^000080Michael Halig^000000]";
-	mes "Bring back the following items:";
-	if (CRUS_Q != 3) goto IT;
-	mes "- 10 ^FF0000Decayed Nails^000000";
-	mes "- 10 ^FF0000Daenggies^000000";
-	mes "- 10 ^FF0000Worn-out Prison Uniforms^000000";
-	mes "- 10 ^FF0000Stinky Scales^000000";
-	close;
-	IT:
-	mes "- 10 ^FF0000Lanterns^000000";
-	mes "- 10 ^FF0000Horrendous Mouths^000000";
-	mes "- 10 ^FF0000Rotten Bandages^000000";
-	mes "- 10 ^FF0000Jack 'o Pumpkins^000000";
-	close;
-	
-	ASK:
-	mes "[^000080Michael Halig^000000]";
-	mes "To be a ^800000Crusader^000000 is to fight for the righteous people.";
-	mes "Not always those who are in power, but rather for the justly cause.";
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "I hope that you consider to become one.";
-	mes "To fight for good is a job that should be done by everyone to some extent.";
-	close;
-	ASK0:
-	mes "[^000080Michael Halig^000000]";
-	mes "The purpose of a ^800000Crusader^000000 is to work for the good in the world.";
-	mes "A ^800000Crusader^000000 is a person of righteousness at work.";
-	close;
-	CONT:
-	mes "Have you changed your mind?";
-	next;
-	menu "Yes, I want to become a ^800000Crusader^000000.",JOB,"Sorry, but I don't want to.",-;
-	mes "[^000080Michael Halig^000000]";
-	mes "I see... That's a shame.";
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "Come back if you do want to.";
-	close;
-	CONT0:
-	mes "Well, hm...";
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "I was expecting that someone like you would pass.";
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "Mind to try again?";
-	next;
-	menu "Yes, of course.",OKAY1,"No, I'm all right.",-;
-	mes "[^000080Michael Halig^000000]";
-	mes "Oh, all right.";
-	close;
-	CONT1:
-	set @item,0;
-	if(countitem(957)>=10) goto ITEM7;//Items: Decayed_Nail,
-	mes "- 10 ^FF0000Decayed Nails^000000";
-	set @item, item +1;
-	ITEM7:
-	if(countitem(901)>=10) goto ITEM8;//Items: Daenggie,
-	mes "You still miss the this item";
-	mes "- 10 ^FF0000Danggies^000000";
-	set @item, item +1;
-	ITEM8:
-	if(countitem(1099)>=10) goto ITEM10;//Items: Worn-out_Prison_Uniform,
-	mes "You still miss the this item";
-	mes "- 10 ^FF0000Worn-out Prison Uniforms^000000";
-	set @item, item +1;
-	ITEM9:
-	if(countitem(959)>=10) goto ITEM9;//Items: Stinky_Scale,
-	mes "You still miss the this item";
-	mes "- 10 ^FF0000Stinky Scales^000000";
-	set @item, item +1;
-	ITEM10:
-	if (@item == 0) goto DONE;
-	close;
-	DONE:
-	mes "Good job!";
-	mes "You collected everything!";
-	delitem 957,10;//Items: Decayed_Nail,
-	delitem 901,10;//Items: Daenggie,
-	delitem 1099,10;//Items: Worn-out_Prison_Uniform,
-	delitem 959,10;//Items: Stinky_Scale,
-	set CRUS_Q,5;
-	TEST1:
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "All right, let's move on to the 2nd test.";
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "Go to the prison, it's in the basement";
-	mes "Before you do, make sure that you bring a ^FF0000Rosary^000000 with you.";
-	close;
-	CONT2:
-	set @item, 0;
-	if(countitem(1041)>=10) goto ITEM11;//Items: Lantern,
-	mes "You still miss the this item";
-	mes "- 10 ^FF0000Lanterns^000000";
-	set @item, item +1;
-	ITEM11:
-	if(countitem(958)>=10) goto ITEM12;//Items: Horrendous_Mouth,
-	mes "You still miss the this item";
-	mes "- 10 ^FF0000Horrendous Mouths^000000";
-	set @item, item +1;
-	ITEM12:
-	if(countitem(930)>=10) goto ITEM13;//Items: Rotten_Bandage,
-	mes "You still miss the this item";
-	mes "- 10 ^FF0000Rotten Bandages^000000";
-	set @item, item +1;
-	ITEM13:
-	if(countitem(1062)>=10) goto ITEM14;//Items: Jack_'o_Pumpkin,
-	mes "You still miss the this item";
-	mes "- 10 ^FF0000Jack 'o Pumpkins^000000";
-	set @item, item +1;
-	ITEM14:
-	if (@item== 0) GOTO DONE0;
-	close;
-	DONE0:
-	mes "Good job!";
-	mes "You collected everything!";
-	delitem 1041,10;//Items: Lantern,
-	delitem 958,10;//Items: Horrendous_Mouth,
-	delitem 930,10;//Items: Rotten_Bandage,
-	delitem 1062,10;//Items: Jack_'o_Pumpkin,
-	set CRUS_Q,5;
-	goto TEST1;
-	CONT3:
-	if (CRUS_Q == 8) goto CONT4;
-	if (CRUS_Q > 8) goto CONT5;
-	mes "Please talk to the man in the prison to continue.";
-	mes "Make sure you bring a ^FF0000Rosary^000000 with you.";
-	close;
-	CONT4:
-	mes "Great job in accomplishing the ^FF8000Patience Test^000000!";
-	next;
-	mes "[^000080Michael Halig^000000]";
-	mes "Now to move on to the ^FF8000Knowledge Test^000000.";
-	mes "Please talk to Gabriel Valentine at the Cathedral, she will test your knowledge.";
-	set CRUS_Q,9;
-	close;
-	CONT5:
-	if (CRUS_Q == 13) goto CONT6;
-	if (CRUS_Q == 14) goto CONT7;
-	mes "Please go talk to Gabriel Valentine at the Cathedral to continue.";
-	close;
-	CONT6:
-	mes "Excellent work in completing all the necessary tests!";
-	mes "Now let me examine you before you become a ^800000Crusader^000000.";
-	next;
-	set CRUS_Q,14;
-	mes "[^000080Michael Halig^000000]";
-	CONT7:
-	if (SkillPoint == 0) goto GOOD;
-	mes "I'm sorry, but you'll need to use up all your skill points first.";
-	close;
-	GOOD:
-	mes "This is to compliment your job change.";
-	if (JBLVL != 50) getitem 1409,1;//Items: Pike__,
-	if (JBLVL == 50) getitem 1408,1;//Items: Pike_,
-
-	callfunc "Job_Change",Job_Crusader;
-	callfunc "F_ClearJobVar";	// clears all job variables for the current player
-	close;
-NEXT0:
-	if (BaseJob != 2) goto NEXT1;
-	mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
-	mes "Hope you have a good day!";
-	close;
-NEXT1:
-	if (BaseJob != 3) goto NEXT2;
-	mes "Good luck in your hunting.";
-	close;
-NEXT2:
-	if (BaseJob != 4) goto NEXT3;
-	mes "Good day to you!";
-	mes "Hope you do well to find your path.";
-	close;
-NEXT3:
-	if (BaseJob != 5) goto NEXT4;
-	mes "Hello, we don't currently need anything, sorry about that.";
-	close;
-NEXT4:
-	if (BaseJob != 6) goto NEXT5;
-	mes "Better watch yourself.";
-	close;
-NEXT5:
-	if (BaseJob != 7) goto NEXT6;
-	mes "Good day to you, " + strcharinfo(0);
-	close;
-NEXT6:
-	if (BaseJob != 8) goto NEXT7;
-	mes "Good day, "+ strcharinfo(0);
-	mes "I would hope to believe that all is going well.";
-	close;
-NEXT7:
-	if (BaseJob != 9) goto NEXT8;
-	mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
-	mes "Nice to have you wish us.";
-	close;
-NEXT8:
-	if (BaseJob != 10) goto NEXT9;
-	mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
-	close;
-NEXT9:
-	if (BaseJob != 11) goto NEXT10;
-	mes "Hello, wish you luck for your success.";
-	close;
-NEXT10:
-	if (BaseJob != 12) goto NEXT11;
-	mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
-	close;
-NEXT11:
-	if (BaseJob != 14) goto NEXT12;
-	mes "Good day, "+ strcharinfo(0);
-	close;
-NEXT12:
-	if (BaseJob != 15) goto NEXT13;
-	mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
-	close;
-NEXT13:
-	if (BaseJob != 16) goto NEXT14;
-	mes "Welcome to the ^008000Castle of Prontera^000000, I hope you enjoy your stay.";
-	close;
-NEXT14:
-	if (BaseJob != 17) goto NEXT15;
-	mes "Stay out of trouble if you know what's good for you.";
-	close;
-NEXT15:
-	if (BaseJob != 18) goto NEXT16;
-	mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
-	close;
-NEXT16:
-	if (BaseJob != 19) goto NEXT17;
-	mes "Welcome to the castle, good sir.";
-	close;
-NEXT17:
-	if (BaseJob != 20) goto NEXT18;
-	mes "Good day, miss.";
-	close;
-NEXT18:
-	if (BaseJob != 22) goto NEXT19;
-	if (Sex != 0) goto MALE;
-	mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
-	close;
-	MALE:
-	mes "Well done, sir!";
-	close;
-NEXT19:
-	mes "Hello and good day!";
-	close;
-}
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//
-// Man in Anguish - Crusader Job Quest - 2nd Test
-// By Black Dragon based on the information at RagnaInfo
-//
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-prt_castle.gat,164,32,0	script	Man in Anguish	733,{
-	if (CRUS_Q == 7) goto CONT;
-	if (CRUS_Q > 7) goto CONT0;
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "Who... who are you?";
-	next;
-	if (CRUS_Q == 5) goto CHECK;
-
-	OTHER:
-	if (CRUS_Q == 6) goto EXIT1;
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "What do you want?";
-	mes "Leave me alone~!";
-	close;
-	CHECK:	
-	if (countitem(2608) == 0) goto NOT;//Items: Rosary,
-
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "I see, you're here for the job.";
-	next;
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "It's torture.";
-	mes "They send me to that room time and time again.";
-	next;
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "I've grown awefully weak from it.";
-	next;
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "But if it's your wish, I will send to there.";
-	next;
-	menu "Yes.",-,"On second thought...",EXIT;
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "All right then... I'll tell you where to go.";
-	GO:
-	next;
-	savepoint "prt_castle.gat",162,27;
-	if (getmapusers("job_cru.gat") > 0) goto EXIT0;
-	set CRUS_Q,6;
-	warp "job_cru.gat",23,42;
-	EXIT0:
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "I'm sorry, there's already another person there right now.";
-	mes "Please wait a little longer.";
-	close;
-	EXIT:
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "Please do not disturb me then!";
-	close;
-	NOT:
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "Leave me alone!";
-	mes "Can't you leave someone in pain alone ?";
-	close;
-
-	CONT:
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "I see you've passed.  Good work.";
-	set CRUS_Q,8;
-	close;
-	EXIT1:
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "Sorry but you're going to need to go again.";
-	goto GO;
-	CONT0:
-	mes "[^000080Murnak Mijoul^000000]";
-	mes "There is nothing else you need from me.";
-	mes "Let me be...";
-	close;
-}
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//
-// Gabriel Valentine - Crusader Job Quest - Knowledge Test
-// By Black Dragon based on the information at RagnaInfo
-//
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-prt_church.gat,94,116,0	script	Gabriel Valentine	745,{
-	mes "[^000080Gabriel Valentine^000000]";
-	if (BaseJob != 0) goto NEXT_o;
-	mes "Hello young traveler.";
-	close;
-NEXT_o:
-	if (BaseJob != 1) goto NEXT0;
-	mes "Hello, " + strcharinfo(0);
-	next;
-	if (CRUS_Q != 9) goto EXIT;
-	BEGIN:
-	menu "Take the Knowledge test.",-,"Nothing.",EXIT;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Oh, on your way to become a ^800000Crusader^000000 huh?";
-	mes "Okay...";
-	next;
-	START:
-	set @Q , 0;
-	set @Q1 , 0;
-	set @Q2 , 0;
-	set @Q3 , 0;
-	set @Q4 , 0;
-	set @Q5 , 0;
-	set @Q6 , 0;
-	set @Q7 , 0;
-	set @Q8 , 0;
-	set @Q9 , 0;
-	set @Q10 , 0;
-	set @Q11 , 0;
-	set @Q12 , 0;
-	set @Q13 , 0;
-	set @Q14 , 0;
-	set @Q15 , 0;
-	set @Q16 , 0;
-	set @Q17 , 0;
-	set @Q18 , 0;
-	set @Q19 , 0;
-	set @Q20 , 0;
-	set @ANS , 0;
-	RND:
-	if (@Q > 10) goto DONE;
-	set @RND, rand(20);
-	if (@RND > 9) goto G1;
-	if (@RND > 4) goto G1A;
-	if (@RND > 3) goto G1A1;
-	if (@RND == 0) goto Q1;
-	if (@RND == 1) goto Q2;
-	if (@RND != 1) goto Q3;
-	G1A1:
-	if (@RND == 3) goto Q4;
-	if (@RND != 3) goto Q5;
-	G1A:
-	if (@RND > 8) goto G1A2;
-	if (@RND == 5) goto Q6;
-	if (@RND == 6) goto Q7;
-	if (@RND != 6) goto Q8;
-	G1A2:
-	if (@RND == 8) goto Q9;
-	if (@RND != 8) goto Q10;
-	G1:
-	if (@RND > 14) goto G2A;
-	if (@RND > 13) goto G2A1;
-	if (@RND == 10) goto Q11;
-	if (@RND == 11) goto Q12;
-	if (@RND == 12) goto Q13;
-	G2A1:
-	if (@RND == 13) goto Q14;
-	if (@RND == 14) goto Q15;
-	G2A:
-	if (@RND > 18) goto G2A2;
-	if (@RND == 15) goto Q16;
-	if (@RND == 16) goto Q17;
-	if (@RND == 17) goto Q18;
-	G2A2:
-	if (@RND == 18) goto Q19;
-	if (@Q20 != 0) goto RND;
-	set @Q20,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Are you willing to risk your life to save someone else?";
-	next;
-	menu "Yes",-,"No",RND;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q1:
-	if (@Q1 != 0) goto RND;
-	set @Q1,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "If someone asks you to help them for a good cause, will you oblige?";
-	next;
-	menu "Yes",-,"No",RND;
-	set @ANS, @ANS + 1;
-	goto RND;
-	Q2:
-	if (@Q2 != 0) goto RND;
-	set @Q2, 1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Would you allow a robber to get away with stolen goods?";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q3:
-	if (@Q3 != 0) goto RND;
-	set @Q3,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Do you wish that the world was at harmony?";
-	next;
-	menu "Yes",-,"No",RND;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q4:
-	if (@Q4 != 0) goto RND;
-	set @Q4,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Will you ever attempt suicide?";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q5:
-	if (@Q5 != 0) goto RND;
-	set @Q5,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Will you intoxicate yourself at parties?";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q6:
-	if (@Q6 != 0) goto RND;
-	set @Q6,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Will you openly massacre?";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q7:
-	if (@Q7 != 0) goto RND;
-	set @Q7,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Will you hold your temper during arguments?";
-	next;
-	menu "Yes",-,"No",RND;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q8:
-	if (@Q8 != 0) goto RND;
-	set @Q8,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Would you allow alchemists to perform illegal experiments?";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q9:
-	if (@Q9 != 0) goto RND;
-	set @Q9,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "If someone threw a stone at you, you'd become furious.";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q10:
-	if (@Q10 != 0) goto RND;
-	set @Q10,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "If someone offered you money that belongs to someone poor, would you take it?";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q11:
-	if (@Q11 != 0) goto RND;
-	set @Q11,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "You think highly of yourself.";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q12:
-	if (@Q12 != 0) goto RND;
-	set @Q12,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "You are humble before others.";
-	next;
-	menu "Yes",-,"No",RND;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q13:
-	if (@Q13 != 0) goto RND;
-	set @Q13,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "You answer people full of respect and with kindness.";
-	next;
-	menu "Yes",-,"No",RND;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q14:
-	if (@Q14 != 0) goto RND;
-	set @Q14,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "You fight when you feel like it.";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q15:
-	if (@Q15 != 0) goto RND;
-	set @Q15,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "You go to the pub every night.";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q16:
-	if (@Q16 != 0) goto RND;
-	set @Q16,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "You believe in the Father, Son and Holy Spirit.";
-	next;
-	menu "Yes",-,"No",RND;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q17:
-	if (@Q17 != 0) goto RND;
-	set @Q17,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "You believe that the Devil is evil and cruel and should be treated the same way.";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q18:
-	if (@Q18 != 0) goto RND;
-	set @Q18,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "You believe that talk is for wimps and that action plays the main role in peace-making";
-	next;
-	menu "Yes",RND,"No",-;
-	set @ANS,@ANS + 1;
-	goto RND;
-	Q19:
-	if (@Q19 != 0) goto RND;
-	set @Q19,1;
-	set @Q,@Q + 1;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "If all other means to keep peace fail, THEN it is all right to resort to violence.";
-	next;
-	menu "Yes",-,"No",RND;
-	set @ANS,@ANS + 1;
-	goto RND;
-	DONE:
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "You got "+ @ANS +" / 10 questions correct.";
-	next;
-	if (CRUS_Q != 10) goto secND;
-	if (@ANS < 8) goto NO;
-	PASS:
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Excellent work!  You qualify to pass the ^FF8000Knowledge Test^000000!";
-	mes "You're almost done, you are now at the ^FF8000Purification Test^000000, find Bliant Piyord at ^008000Prontera Chivalry^000000.";
-	set CRUS_Q, 11;
-	close;
-	NO:
-	set CRUS_Q, 10;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "I'm sorry, you didn't get enough to qualify.";
-	next;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Try giving it another go when you feel you're ready.";
-	mes "I'll only expect you to get at least 8 correct from now on.";
-	close;
-	secND:
-	if (@ANS > 7) goto PASS;
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "I'm sorry, you didn't get enough correct.";
-	close;
-	EXIT:
-	if (CRUS_Q == 10) goto BEGIN;
-	if (CRUS_Q > 10) goto FINISH;
-	close;
-	FINISH:
-	mes "[^000080Gabriel Valentine^000000]";
-	mes "Please go to the Guardian Knight at ^008000Prontera Castle^000000 to continue on to the ^FF8000Purification Test^000000.";
-	close;
-NEXT0:
-	if (BaseJob != 2) goto NEXT1;
-	mes "Hello, welcome to the ^008000Prontera Chivalry^000000.";
-	mes "Hope you have a good day!";
-	close;
-NEXT1:
-	if (BaseJob != 3) goto NEXT2;
-	mes "Good luck in your hunting.";
-	close;
-NEXT2:
-	if (BaseJob != 4) goto NEXT3;
-	mes "Good day to you!";
-	mes "Hope you do well to find your path.";
-	close;
-NEXT3:
-	if (BaseJob != 5) goto NEXT4;
-	mes "Hello, we don't currently need anything, sorry about that.";
-	close;
-NEXT4:
-	if (BaseJob != 6) goto NEXT5;
-	mes "Better watch yourself.";
-	close;
-NEXT5:
-	if (BaseJob != 7) goto NEXT6;
-	mes "Good day to you, "+ strcharinfo(0);
-	close;
-NEXT6:
-	if (BaseJob != 8) goto NEXT7;
-	mes "Good day, " + strcharinfo(0);
-	mes "I would hope to believe that all is going well.";
-	close;
-NEXT7:
-	if (BaseJob != 9) goto NEXT8;
-	mes "Hello!  Nice to have you wish us.";
-	close;
-NEXT8:
-	if (BaseJob != 10) goto NEXT9;
-	mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
-	close;
-NEXT9:
-	if (BaseJob != 11) goto NEXT10;
-	mes "Hello, wish you luck for your success.";
-	close;
-NEXT10:
-	if (BaseJob != 12) goto NEXT11;
-	mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
-	close;
-NEXT11:
-	if (BaseJob != 14) goto NEXT12;
-	mes "Good day, " + strcharinfo(0);
-	close;
-NEXT12:
-	if (BaseJob != 15) goto NEXT13;
-	mes "Hello, welcome to the ^008000Knight's Headquarters^000000.";
-	close;
-NEXT13:
-	if (BaseJob != 16) goto NEXT14;
-	mes "Welcome to the ^008000Knight's Headquarters^000000, I hope you enjoy your stay.";
-	close;
-NEXT14:
-	if (BaseJob != 17) goto NEXT15;
-	mes "Stay out of trouble if you know what's good for you.";
-	close;
-NEXT15:
-	if (BaseJob != 18) goto NEXT16;
-	mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
-	close;
-NEXT16:
-	if (BaseJob != 19) goto NEXT17;
-	mes "Welcome to the castle, good sir.";
-	close;
-NEXT17:
-	if (BaseJob != 20) goto NEXT18;
-	mes "Good day, miss.";
-	close;
-NEXT18:
-	if (BaseJob != 22) goto NEXT19;
-	if (Sex != 0) goto MALE;
-	mes "Hello, welcome to the ^008000Knight's Headquarters^000000.";
-	close;
-	MALE:
-	mes "Well done, sir!";
-	close;
-NEXT19:
-	mes "Hello and good day!";
-	close;
-}
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//
-// Bliant Piyord - Crusader Job Quest - Purification Test
-// By Black Dragon based on the information at RagnaInfo
-//
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-prt_in.gat,83,97,0	script	Patron Knight	734,{
-	mes "[^000080Bliant Piyord^000000]";
-	if (BaseJob != 0) goto NEXT_o;
-	mes "Hello, young traveler.";
-	mes "Welcome.";
-	close;
-NEXT_o:
-	if (BaseJob != 1) goto NEXT0;
-	if (CRUS_Q == 11) goto PART1;
-	if (CRUS_Q == 12) goto PART2;
-	if (CRUS_Q != 13) goto EXIT;
-	mes "Well done!";
-	mes "Go talk to ^000080Michael Halig^000000, he will turn you into a ^800000Crusader^000000.";
-	close;
-	PART2:
-	if (@CRU2 == 43) goto EXIT2;
-	PART2A:
-	mes "So, do you want to try again?";
-	next;
-	menu "Yes",TEST,"No",-;
-	mes "[^000080Bliant Piyord^000000]";
-	mes "Oh, okay then.";
-	close;
-	PART1:
-	mes "Hello, " + strcharinfo(0);
-	mes "I see that you've passed thus far.";
-	next;
-	mes "[^000080Bliant Piyord^000000]";
-	mes "Don't let me down in this test.";
-	mes "This is the ^FF8000Purification Test^000000.";
-	mes "I will take you to the proper location when you are ready.";
-	next;
-	menu "I want to go now.",-,"All right, just a second.",EXIT0;
-	TEST:
-	mes "[^000080Bliant Piyord^000000]";
-	mes "Let me make sure it's empty first.";
-	next;
-	if( getmapusers("job_cru.gat")>0 ) goto EXIT1;
-	killmonster "job_cru.gat","CR_KILL";
-	savepoint "prt_in.gat",81,100;
-	set CRUS_Q, 12;
-	warp "job_cru",167,175;
-	EXIT1:
-	mes "[^000080Bliant Piyord^000000]";
-	mes "I'm sorry, but someone else is inside at the moment.";
-	close;
-	EXIT0:
-	mes "[^000080Bliant Piyord^000000]";
-	mes "No problem, take as long as you need.";
-	close;
-	EXIT:
-	mes "Hello, " + strcharinfo(0);
-	mes "So how are things coming along with building up your abilities?";
-	mes "Are you strong enough to become a ^800000Crusader^000000 yet?";
-	next;
-	mes "[^000080Bliant Piyord^000000]";
-	mes "If you do, you'll find yourself coming back to me for one of the tests.";
-	close;
-EXIT2:
-	mes "Well done!";
-	set CRUS_Q,13;
-	next;
-	mes "Return to ^000080Michael Halig^000000 and he will make you a ^800000Crusader^000000.";
-	close;
-NEXT0:
-	if (BaseJob != 2) goto NEXT1;
-	mes "It's nice to see you.";
-	mes "Hope we'll be able to work together to keep ^00FF00Prontera^000000 safe.";
-	close;
-NEXT1:
-	if (BaseJob != 3) goto NEXT2;
-	mes "Welcome, I hope you have a great day!";
-	close;
-NEXT2:
-	if (BaseJob != 4) goto NEXT3;
-	mes "Good day to you!";
-	close;
-NEXT3:
-	if (BaseJob != 5) goto NEXT4;
-	mes "Hello, sorry but I'm not in need of anything.";
-	close;
-NEXT4:
-	if (BaseJob != 6) goto NEXT5;
-	mes "Don't think you can get away with theft in ^00FF00Prontera^000000, we have soldiers watching everywhere.";
-	close;
-NEXT5:
-	if (BaseJob != 7) goto NEXT6;
-	mes "Welcome!";
-	mes "I hope you have a great day!";
-	close;
-NEXT6:
-	if (BaseJob != 8) goto NEXT7;
-	mes "Welcome to ^00FF00Prontera^000000!";
-	mes "Hope you have a good day!";
-	close;
-NEXT7:
-	if (BaseJob != 9) goto NEXT8;
-	mes "Hello!  Glad to see people of your stature here!";
-	close;
-NEXT8:
-	if (BaseJob != 10) goto NEXT9;
-	mes "I appreciate your presence, but I don't need anything at the moment.";
-	mes "Sorry about that.";
-	close;
-NEXT9:
-	if (BaseJob != 11) goto NEXT10;
-	mes "How goes the hunting campaign?";
-	mes "Hope everything is going all right.";
-	close;
-NEXT10:
-	if (BaseJob != 12) goto NEXT11;
-	mes "Stay out of trouble, you hear me?";
-	close;
-NEXT11:
-	if (BaseJob != 14) goto NEXT12;
-	mes "Welcome!  Good day to you!";
-	close;
-NEXT12:
-	if (BaseJob != 15) goto NEXT13;
-	mes "Good day, I hope your stay in ^00FF00Prontera^000000 will be a peaceful one.";
-	close;
-NEXT13:
-	if (BaseJob != 16) goto NEXT14;
-	mes "It's good to see people of your stature here in ^00FF00Prontera^000000!";
-	close;
-NEXT14:
-	if (BaseJob != 17) goto NEXT15;
-	mes "Be careful if you don't want to get caught.";
-	mes "I don't want to have to hang you or something.";
-	close;
-NEXT15:
-	if (BaseJob != 18) goto NEXT16;
-	mes "I hope the experiments in ^00FF00Al de Baran^000000 are legal, or we'll have to send someone to clear it up.";
-	close;
-NEXT16:
-	if (BaseJob != 19) goto NEXT17;
-	mes "Ah, what a fine day it is to have such a person as yourself to come and visit.";
-	close;
-NEXT17:
-	if (BaseJob != 20) goto NEXT18;
-	mes "Welcome, good day to you!";
-	close;
-NEXT18:
-	if (BaseJob != 22) goto NEXT19;
-	if (Sex != 0) goto MALE;
-	mes "Wow!  Congratulations on your marriage!";
-	close;
-	MALE:
-	mes "Well done!  I congratulate you upon your marriage!";
-	close;
-NEXT19:
-	mes "Good day to you!";
-	close;
-}
-
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//
-// Entry A - Crusader Job Quest - Patience Test
-// By Black Dragon based on the information at RagnaInfo
-//
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-
-job_cru.gat,23,42,0	script	CR_DEAD	-1,{
-	killmonster "job_cru.gat","CR_DEAD";
-	set @CRU1,0;
-	enablenpc "CR_TST_2";
-	warp "prt_castle.gat",162,27;
-}
-
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//
-// Entry - Crusader Job Quest - Patience Test
-// By Black Dragon based on the information at RagnaInfo
-//
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-job_cru.gat,23,42,0	script	CR_TST_2	139,8,8,{
-
-	if (CRUS_Q != 6) goto EXIT;
-	set @CRU1,1;
-	mapannounce "job_cru.gat","Please endure here and go to the exit.",8;
-
-	monster "job_cru.gat",10,43,"Ghoul",1910,1,"CR_DEAD";
-	monster "job_cru.gat",14,47,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",26,46,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",31,46,"Requium",1913,1,"CR_DEAD";
-	monster "job_cru.gat",16,52,"Raydric Archer",1914,0,"CR_DEAD";
-	monster "job_cru.gat",22,53,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",28,49,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",12,54,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",17,55,"Ghoul",1910,1,"CR_DEAD";
-	monster "job_cru.gat",21,57,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",30,58,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",11,64,"Raydric Archer",1914,1,"CR_DEAD";
-	monster "job_cru.gat",19,67,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",24,62,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",13,70,"Ghoul",1910,1,"CR_DEAD";
-	monster "job_cru.gat",18,69,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",29,67,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",32,68,"Requium",1913,1,"CR_DEAD";
-	monster "job_cru.gat",16,75,"Raydric Archer",1914,1,"CR_DEAD";
-	monster "job_cru.gat",21,74,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",27,76,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",14,78,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",19,76,"Ghoul",1910,1,"CR_DEAD";
-	monster "job_cru.gat",24,79,"Requium",1913,1,"CR_DEAD";
-	monster "job_cru.gat",14,83,"Raydric Archer",1914,1,"CR_DEAD";
-	monster "job_cru.gat",18,85,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",22,84,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",33,86,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",13,89,"Ghoul",1910,1,"CR_DEAD";
-	monster "job_cru.gat",17,92,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",23,90,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",26,88,"Ghoul",1910,1,"CR_DEAD";
-	monster "job_cru.gat",17,97,"Khalitzburg",1911,1,"CR_DEAD";
-	monster "job_cru.gat",23,100,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",31,101,"Ghoul",1910,1,"CR_DEAD";
-	monster "job_cru.gat",13,103,"Raydric Archer",1914,1,"CR_DEAD";
-	monster "job_cru.gat",22,105,"Injustice",1912,1,"CR_DEAD";
-	monster "job_cru.gat",30,107,"Khalitzburg",1911,1,"CR_DEAD";
-	disablenpc "CR_TST_2";
-	end;
-	EXIT:
-	warp "prt_castle.gat",162,27;
-}
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//
-// Exit - Crusader Job Quest - Patience Test
-// By Black Dragon based on the information at RagnaInfo
-//
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-job_cru.gat,23,109,0	script	CR_EXT_1	139,1,1,{
-
-if (@CRU1 == 0) goto JUMP;
-	set CRUS_Q,7;
-	killmonster "job_cru.gat","CR_DEAD";
-	enablenpc "CR_TST_2";
-JUMP:
-	warp "prt_castle.gat",162,28;
-}
-
-
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//
-// Fighting Area - Crusader Job Quest - 4th Test
-// By Black Dragon based on the information at RagnaInfo
-//
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-
-job_cru.gat,167,175,0	script	CR_KILL	-1,{
-
-	if (@CRU2 == 43) goto good;
-
-	set @CRU2,@CRU2 +1;
-	announce "You killed another monster.",3;
-	end;
-
-	good:
-	announce "You killed all monsters, you may go to the exit.",3;
-	end;
-}
-
-job_cru.gat,167,175,0	script	CR_TST_4	139,1,1,{
-
-	if(CRUS_Q != 12) goto EXIT;
-	set @CRU2,1;
-	announce "Defeat all the enemies.",3;
-	monster "job_cru.gat",163,42,"Bongun",1188,1,"CR_KILL";
-	monster "job_cru.gat",171,66,"Bongun",1188,1,"CR_KILL";
-	monster "job_cru.gat",163,89,"Bongun",1188,1,"CR_KILL";
-	monster "job_cru.gat",171,115,"Bongun",1188,1,"CR_KILL";
-	monster "job_cru.gat",166,141,"Bongun",1188,1,"CR_KILL";
-	monster "job_cru.gat",168,166,"Bongun",1188,1,"CR_KILL";
-	monster "job_cru.gat",164,170,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",173,153,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",164,138,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",166,128,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",171,117,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",163,102,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",172,84,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",162,76,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",167,65,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",171,58,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",162,48,"Munak",1026,1,"CR_KILL";
-	monster "job_cru.gat",170,33,"Munak",1026,1,"CR_KILL";	
-	monster "job_cru.gat",170,26,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",166,37,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",171,47,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",165,61,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",172,65,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",163,77,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",164,86,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",165,98,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",170,101,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",163,110,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",164,117,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",166,129,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",165,139,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",166,151,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",168,160,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",162,169,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",171,171,"Skeleton",1076,1,"CR_KILL";
-	monster "job_cru.gat",162,32,"Zombie",1015,1,"CR_KILL";
-	monster "job_cru.gat",165,51,"Zombie",1015,1,"CR_KILL";
-	monster "job_cru.gat",172,73,"Zombie",1015,1,"CR_KILL";
-	monster "job_cru.gat",170,92,"Zombie",1015,1,"CR_KILL";
-	monster "job_cru.gat",173,111,"Zombie",1015,1,"CR_KILL";
-	monster "job_cru.gat",170,124,"Zombie",1015,1,"CR_KILL";
-	monster "job_cru.gat",171,147,"Zombie",1015,1,"CR_KILL";
-	monster "job_cru.gat",163,162,"Zombie",1015,1,"CR_KILL";
-	disablenpc "CR_TST_4";
-	EXIT:
-	end;
-}
-
-
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-//
-// Test 4 Exit - Crusader Job Quest - 4th Test
-// By Black Dragon based on the information at RagnaInfo
-//
-//-----------------------------------------------------------------------------------------------------------------------------------------------------
-job_cru.gat,167,17,0	script	CR_EXT_4	139,2,2,{
-	enablenpc "CR_TST_4";
-	warp "prt_in.gat",81,100;
-}
-
-//==============================================================================
-// mapflag
-//==============================================================================
-job_cru.gat	mapflag	nomemo
-job_cru.gat	mapflag	noteleport
-job_cru.gat	mapflag	nosave	SavePoint
-job_cru.gat	mapflag	nopenalty
-job_cru.gat	mapflag	nobranch
-job_cru.gat	mapflag	noexp
-job_cru.gat	mapflag	noloot
+////===== eAthena Script ======================================= 
+//= Crusader Quest
+//===== By: ================================================== 
+//= Made by: Black Dragon
+//= Converted by: Shin
+//=
+//===== Current Version: ===================================== 
+//= 2.0
+//===== Compatible With: ===================================== 
+//= eAthena  0.5.2 +
+//===== Description: ========================================= 
+//= 
+//===== Additional Comments: ================================= 
+//= Need optimalization and fixing
+//= thanks to Komurka, KiLLaLeN, Lupus (fixing error)
+//= just a temp Job Quest
+//= 1.2 minor fix of announcement by Freya people
+//= 1.3 Added Baby Class Support, fixed 40/50 lvl item reward
+//=     also fixed too common script names [Lupus]
+//= 1.3a fixed "dead lock" bugs [Lupus]
+//= 1.3b changed monsters ID in patience test [Komurka]
+//= 1.4 Fixed Job Level parameters mix-up. [massdriller] (Thanks to Komurka)
+//= 1.5 Fixed possible EXP abuse [Lupus]
+//= 1.6 Added a func which prevent advanced classes passing
+//=     2nd Job Quests again. It also guides adv classes where
+//=     to go. [Lupus]
+//= 1.7 Updated names and required items, Chivalry Emblem +
+//=     Hand of God allow to skip item gathering [DracoRPG]
+//= 2.0 Changed numbers to constants. [Vicious]
+//============================================================
+
+
+prt_castle.gat,45,169,4	script	Senior Crusader	752,{
+	callfunc "F_BlockHigh",Job_Swordman_High,"Swordman High",Job_Paladin,"Paladin","^000080Michael Halig^000000";
+
+	mes "[^000080Michael Halig^000000]";
+	if (BaseJob > 0) goto NEXT_0;
+	if (BaseJob == 0) goto NOV;
+	mes "Hello "+ strcharinfo(0);
+	mes "I see that you've registered to the ^008000Swordsman's Association^000000.";
+	TALK:
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "If you become a ^800000Swordsman^000000, you will gain the privelege of becoming a ^800000Knight^000000 or ^800000Crusader^000000.";
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "If you decide to go along the path of the ^800000Crusader^000000, come back here.";
+	mes "Just take note that you must obtain a job level of at least 40 first before you can move up to the 2nd job.";
+	close;
+	NOV:
+	mes "Hello there.";
+	goto TALK;
+NEXT_0:
+	if (BaseJob > 1) goto NEXT0;
+	if (CRUS_Q == 1) goto CONT;
+	if (CRUS_Q == 2) goto CONT0;
+	if (CRUS_Q == 3) goto CONT1;
+	if (CRUS_Q == 4) goto CONT2;
+	if (CRUS_Q > 4) goto CONT3;
+	mes "Welcome, can I help you with something?";
+	next;
+	menu "I want to become a ^800000Crusader^000000.",JOB,"What's being a ^800000Crusader^000000 like?",ASK,"What is the purpose of a ^800000Crusader^000000?",ASK0,"I was just looking around.",-;
+	mes "[^000080Michael Halig^000000]";
+	mes "Oh, all right.";
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "If you decide to take the path of the ^800000Crusader^000000, feel free to come back.";
+	close;
+	JOB:
+	mes "[^000080Michael Halig^000000]";
+	mes "All right, let me take a look at you first.";
+	next;	
+	if (JobLevel != 50) goto SKIP;
+	set JBLVL,50;
+	set CRUS_Q,5;
+	goto TEST1;
+	SKIP:
+	if (JobLevel > 39) goto OKAY;
+	mes "[^000080Michael Halig^000000]";
+	mes "I'm sorry, but you need to be at least at a job level of 40.";
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "All 2nd jobs require that.";
+	close;
+	OKAY:
+	if (SkillPoint == 0) goto OKAY0;
+	JOB0:
+	mes "[^000080Michael Halig^000000]";
+	mes "In order to become a ^800000Crusader^000000, you have to have used all your available skill points first.";
+	close;
+	OKAY0:
+	mes "[^000080Michael Halig^000000]";
+	mes "Everything looks all right.";
+	set CRUS_Q,1;
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "All right, shall we begin the tests?";
+	next;
+	menu "Yes, of course.",OKAY1,"Not yet.",-;
+	mes "[^000080Michael Halig^000000]";
+	mes "Oh, all right.  Come back when you're ready.";
+	close;
+	OKAY1:
+	if (SkillPoint != 0) goto JOB0;
+	set CRUS_Q,2;
+	mes "[^000080Michael Halig^000000]";
+	mes "All right, the first test requires you to collect items.";
+	next;
+	set CRUS_Q, rand (2);
+	set CRUS_Q,CRUS_Q + 3;
+	mes "[^000080Michael Halig^000000]";
+	mes "Bring back the following items:";
+	if (CRUS_Q != 3) goto IT;
+	mes "- 10 ^FF0000Decayed Nails^000000";
+	mes "- 10 ^FF0000Daenggies^000000";
+	mes "- 10 ^FF0000Worn-out Prison Uniforms^000000";
+	mes "- 10 ^FF0000Stinky Scales^000000";
+	close;
+	IT:
+	mes "- 10 ^FF0000Lanterns^000000";
+	mes "- 10 ^FF0000Horrendous Mouths^000000";
+	mes "- 10 ^FF0000Rotten Bandages^000000";
+	mes "- 10 ^FF0000Jack 'o Pumpkins^000000";
+	close;
+	
+	ASK:
+	mes "[^000080Michael Halig^000000]";
+	mes "To be a ^800000Crusader^000000 is to fight for the righteous people.";
+	mes "Not always those who are in power, but rather for the justly cause.";
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "I hope that you consider to become one.";
+	mes "To fight for good is a job that should be done by everyone to some extent.";
+	close;
+	ASK0:
+	mes "[^000080Michael Halig^000000]";
+	mes "The purpose of a ^800000Crusader^000000 is to work for the good in the world.";
+	mes "A ^800000Crusader^000000 is a person of righteousness at work.";
+	close;
+	CONT:
+	mes "Have you changed your mind?";
+	next;
+	menu "Yes, I want to become a ^800000Crusader^000000.",JOB,"Sorry, but I don't want to.",-;
+	mes "[^000080Michael Halig^000000]";
+	mes "I see... That's a shame.";
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "Come back if you do want to.";
+	close;
+	CONT0:
+	mes "Well, hm...";
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "I was expecting that someone like you would pass.";
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "Mind to try again?";
+	next;
+	menu "Yes, of course.",OKAY1,"No, I'm all right.",-;
+	mes "[^000080Michael Halig^000000]";
+	mes "Oh, all right.";
+	close;
+	CONT1:
+	set @item,0;
+	if(countitem(957)>=10) goto ITEM7;//Items: Decayed_Nail,
+	mes "- 10 ^FF0000Decayed Nails^000000";
+	set @item, item +1;
+	ITEM7:
+	if(countitem(901)>=10) goto ITEM8;//Items: Daenggie,
+	mes "You still miss the this item";
+	mes "- 10 ^FF0000Danggies^000000";
+	set @item, item +1;
+	ITEM8:
+	if(countitem(1099)>=10) goto ITEM10;//Items: Worn-out_Prison_Uniform,
+	mes "You still miss the this item";
+	mes "- 10 ^FF0000Worn-out Prison Uniforms^000000";
+	set @item, item +1;
+	ITEM9:
+	if(countitem(959)>=10) goto ITEM9;//Items: Stinky_Scale,
+	mes "You still miss the this item";
+	mes "- 10 ^FF0000Stinky Scales^000000";
+	set @item, item +1;
+	ITEM10:
+	if (@item == 0) goto DONE;
+	close;
+	DONE:
+	mes "Good job!";
+	mes "You collected everything!";
+	delitem 957,10;//Items: Decayed_Nail,
+	delitem 901,10;//Items: Daenggie,
+	delitem 1099,10;//Items: Worn-out_Prison_Uniform,
+	delitem 959,10;//Items: Stinky_Scale,
+	set CRUS_Q,5;
+	TEST1:
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "All right, let's move on to the 2nd test.";
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "Go to the prison, it's in the basement";
+	mes "Before you do, make sure that you bring a ^FF0000Rosary^000000 with you.";
+	close;
+	CONT2:
+	set @item, 0;
+	if(countitem(1041)>=10) goto ITEM11;//Items: Lantern,
+	mes "You still miss the this item";
+	mes "- 10 ^FF0000Lanterns^000000";
+	set @item, item +1;
+	ITEM11:
+	if(countitem(958)>=10) goto ITEM12;//Items: Horrendous_Mouth,
+	mes "You still miss the this item";
+	mes "- 10 ^FF0000Horrendous Mouths^000000";
+	set @item, item +1;
+	ITEM12:
+	if(countitem(930)>=10) goto ITEM13;//Items: Rotten_Bandage,
+	mes "You still miss the this item";
+	mes "- 10 ^FF0000Rotten Bandages^000000";
+	set @item, item +1;
+	ITEM13:
+	if(countitem(1062)>=10) goto ITEM14;//Items: Jack_'o_Pumpkin,
+	mes "You still miss the this item";
+	mes "- 10 ^FF0000Jack 'o Pumpkins^000000";
+	set @item, item +1;
+	ITEM14:
+	if (@item== 0) GOTO DONE0;
+	close;
+	DONE0:
+	mes "Good job!";
+	mes "You collected everything!";
+	delitem 1041,10;//Items: Lantern,
+	delitem 958,10;//Items: Horrendous_Mouth,
+	delitem 930,10;//Items: Rotten_Bandage,
+	delitem 1062,10;//Items: Jack_'o_Pumpkin,
+	set CRUS_Q,5;
+	goto TEST1;
+	CONT3:
+	if (CRUS_Q == 8) goto CONT4;
+	if (CRUS_Q > 8) goto CONT5;
+	mes "Please talk to the man in the prison to continue.";
+	mes "Make sure you bring a ^FF0000Rosary^000000 with you.";
+	close;
+	CONT4:
+	mes "Great job in accomplishing the ^FF8000Patience Test^000000!";
+	next;
+	mes "[^000080Michael Halig^000000]";
+	mes "Now to move on to the ^FF8000Knowledge Test^000000.";
+	mes "Please talk to Gabriel Valentine at the Cathedral, she will test your knowledge.";
+	set CRUS_Q,9;
+	close;
+	CONT5:
+	if (CRUS_Q == 13) goto CONT6;
+	if (CRUS_Q == 14) goto CONT7;
+	mes "Please go talk to Gabriel Valentine at the Cathedral to continue.";
+	close;
+	CONT6:
+	mes "Excellent work in completing all the necessary tests!";
+	mes "Now let me examine you before you become a ^800000Crusader^000000.";
+	next;
+	set CRUS_Q,14;
+	mes "[^000080Michael Halig^000000]";
+	CONT7:
+	if (SkillPoint == 0) goto GOOD;
+	mes "I'm sorry, but you'll need to use up all your skill points first.";
+	close;
+	GOOD:
+	mes "This is to compliment your job change.";
+	if (JBLVL != 50) getitem 1409,1;//Items: Pike__,
+	if (JBLVL == 50) getitem 1408,1;//Items: Pike_,
+
+	callfunc "Job_Change",Job_Crusader;
+	callfunc "F_ClearJobVar";	// clears all job variables for the current player
+	close;
+NEXT0:
+	if (BaseJob != 2) goto NEXT1;
+	mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+	mes "Hope you have a good day!";
+	close;
+NEXT1:
+	if (BaseJob != 3) goto NEXT2;
+	mes "Good luck in your hunting.";
+	close;
+NEXT2:
+	if (BaseJob != 4) goto NEXT3;
+	mes "Good day to you!";
+	mes "Hope you do well to find your path.";
+	close;
+NEXT3:
+	if (BaseJob != 5) goto NEXT4;
+	mes "Hello, we don't currently need anything, sorry about that.";
+	close;
+NEXT4:
+	if (BaseJob != 6) goto NEXT5;
+	mes "Better watch yourself.";
+	close;
+NEXT5:
+	if (BaseJob != 7) goto NEXT6;
+	mes "Good day to you, " + strcharinfo(0);
+	close;
+NEXT6:
+	if (BaseJob != 8) goto NEXT7;
+	mes "Good day, "+ strcharinfo(0);
+	mes "I would hope to believe that all is going well.";
+	close;
+NEXT7:
+	if (BaseJob != 9) goto NEXT8;
+	mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+	mes "Nice to have you wish us.";
+	close;
+NEXT8:
+	if (BaseJob != 10) goto NEXT9;
+	mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
+	close;
+NEXT9:
+	if (BaseJob != 11) goto NEXT10;
+	mes "Hello, wish you luck for your success.";
+	close;
+NEXT10:
+	if (BaseJob != 12) goto NEXT11;
+	mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
+	close;
+NEXT11:
+	if (BaseJob != 14) goto NEXT12;
+	mes "Good day, "+ strcharinfo(0);
+	close;
+NEXT12:
+	if (BaseJob != 15) goto NEXT13;
+	mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+	close;
+NEXT13:
+	if (BaseJob != 16) goto NEXT14;
+	mes "Welcome to the ^008000Castle of Prontera^000000, I hope you enjoy your stay.";
+	close;
+NEXT14:
+	if (BaseJob != 17) goto NEXT15;
+	mes "Stay out of trouble if you know what's good for you.";
+	close;
+NEXT15:
+	if (BaseJob != 18) goto NEXT16;
+	mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
+	close;
+NEXT16:
+	if (BaseJob != 19) goto NEXT17;
+	mes "Welcome to the castle, good sir.";
+	close;
+NEXT17:
+	if (BaseJob != 20) goto NEXT18;
+	mes "Good day, miss.";
+	close;
+NEXT18:
+	if (BaseJob != 22) goto NEXT19;
+	if (Sex != 0) goto MALE;
+	mes "Hello, welcome to the ^008000Castle of Prontera^000000.";
+	close;
+	MALE:
+	mes "Well done, sir!";
+	close;
+NEXT19:
+	mes "Hello and good day!";
+	close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Man in Anguish - Crusader Job Quest - 2nd Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_castle.gat,164,32,0	script	Man in Anguish	733,{
+	if (CRUS_Q == 7) goto CONT;
+	if (CRUS_Q > 7) goto CONT0;
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "Who... who are you?";
+	next;
+	if (CRUS_Q == 5) goto CHECK;
+
+	OTHER:
+	if (CRUS_Q == 6) goto EXIT1;
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "What do you want?";
+	mes "Leave me alone~!";
+	close;
+	CHECK:	
+	if (countitem(2608) == 0) goto NOT;//Items: Rosary,
+
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "I see, you're here for the job.";
+	next;
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "It's torture.";
+	mes "They send me to that room time and time again.";
+	next;
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "I've grown awefully weak from it.";
+	next;
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "But if it's your wish, I will send to there.";
+	next;
+	menu "Yes.",-,"On second thought...",EXIT;
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "All right then... I'll tell you where to go.";
+	GO:
+	next;
+	savepoint "prt_castle.gat",162,27;
+	if (getmapusers("job_cru.gat") > 0) goto EXIT0;
+	set CRUS_Q,6;
+	warp "job_cru.gat",23,42;
+	EXIT0:
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "I'm sorry, there's already another person there right now.";
+	mes "Please wait a little longer.";
+	close;
+	EXIT:
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "Please do not disturb me then!";
+	close;
+	NOT:
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "Leave me alone!";
+	mes "Can't you leave someone in pain alone ?";
+	close;
+
+	CONT:
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "I see you've passed.  Good work.";
+	set CRUS_Q,8;
+	close;
+	EXIT1:
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "Sorry but you're going to need to go again.";
+	goto GO;
+	CONT0:
+	mes "[^000080Murnak Mijoul^000000]";
+	mes "There is nothing else you need from me.";
+	mes "Let me be...";
+	close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Gabriel Valentine - Crusader Job Quest - Knowledge Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_church.gat,94,116,0	script	Gabriel Valentine	745,{
+	mes "[^000080Gabriel Valentine^000000]";
+	if (BaseJob != 0) goto NEXT_o;
+	mes "Hello young traveler.";
+	close;
+NEXT_o:
+	if (BaseJob != 1) goto NEXT0;
+	mes "Hello, " + strcharinfo(0);
+	next;
+	if (CRUS_Q != 9) goto EXIT;
+	BEGIN:
+	menu "Take the Knowledge test.",-,"Nothing.",EXIT;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Oh, on your way to become a ^800000Crusader^000000 huh?";
+	mes "Okay...";
+	next;
+	START:
+	set @Q , 0;
+	set @Q1 , 0;
+	set @Q2 , 0;
+	set @Q3 , 0;
+	set @Q4 , 0;
+	set @Q5 , 0;
+	set @Q6 , 0;
+	set @Q7 , 0;
+	set @Q8 , 0;
+	set @Q9 , 0;
+	set @Q10 , 0;
+	set @Q11 , 0;
+	set @Q12 , 0;
+	set @Q13 , 0;
+	set @Q14 , 0;
+	set @Q15 , 0;
+	set @Q16 , 0;
+	set @Q17 , 0;
+	set @Q18 , 0;
+	set @Q19 , 0;
+	set @Q20 , 0;
+	set @ANS , 0;
+	RND:
+	if (@Q > 10) goto DONE;
+	set @RND, rand(20);
+	if (@RND > 9) goto G1;
+	if (@RND > 4) goto G1A;
+	if (@RND > 3) goto G1A1;
+	if (@RND == 0) goto Q1;
+	if (@RND == 1) goto Q2;
+	if (@RND != 1) goto Q3;
+	G1A1:
+	if (@RND == 3) goto Q4;
+	if (@RND != 3) goto Q5;
+	G1A:
+	if (@RND > 8) goto G1A2;
+	if (@RND == 5) goto Q6;
+	if (@RND == 6) goto Q7;
+	if (@RND != 6) goto Q8;
+	G1A2:
+	if (@RND == 8) goto Q9;
+	if (@RND != 8) goto Q10;
+	G1:
+	if (@RND > 14) goto G2A;
+	if (@RND > 13) goto G2A1;
+	if (@RND == 10) goto Q11;
+	if (@RND == 11) goto Q12;
+	if (@RND == 12) goto Q13;
+	G2A1:
+	if (@RND == 13) goto Q14;
+	if (@RND == 14) goto Q15;
+	G2A:
+	if (@RND > 18) goto G2A2;
+	if (@RND == 15) goto Q16;
+	if (@RND == 16) goto Q17;
+	if (@RND == 17) goto Q18;
+	G2A2:
+	if (@RND == 18) goto Q19;
+	if (@Q20 != 0) goto RND;
+	set @Q20,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Are you willing to risk your life to save someone else?";
+	next;
+	menu "Yes",-,"No",RND;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q1:
+	if (@Q1 != 0) goto RND;
+	set @Q1,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "If someone asks you to help them for a good cause, will you oblige?";
+	next;
+	menu "Yes",-,"No",RND;
+	set @ANS, @ANS + 1;
+	goto RND;
+	Q2:
+	if (@Q2 != 0) goto RND;
+	set @Q2, 1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Would you allow a robber to get away with stolen goods?";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q3:
+	if (@Q3 != 0) goto RND;
+	set @Q3,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Do you wish that the world was at harmony?";
+	next;
+	menu "Yes",-,"No",RND;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q4:
+	if (@Q4 != 0) goto RND;
+	set @Q4,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Will you ever attempt suicide?";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q5:
+	if (@Q5 != 0) goto RND;
+	set @Q5,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Will you intoxicate yourself at parties?";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q6:
+	if (@Q6 != 0) goto RND;
+	set @Q6,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Will you openly massacre?";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q7:
+	if (@Q7 != 0) goto RND;
+	set @Q7,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Will you hold your temper during arguments?";
+	next;
+	menu "Yes",-,"No",RND;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q8:
+	if (@Q8 != 0) goto RND;
+	set @Q8,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Would you allow alchemists to perform illegal experiments?";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q9:
+	if (@Q9 != 0) goto RND;
+	set @Q9,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "If someone threw a stone at you, you'd become furious.";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q10:
+	if (@Q10 != 0) goto RND;
+	set @Q10,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "If someone offered you money that belongs to someone poor, would you take it?";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q11:
+	if (@Q11 != 0) goto RND;
+	set @Q11,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "You think highly of yourself.";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q12:
+	if (@Q12 != 0) goto RND;
+	set @Q12,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "You are humble before others.";
+	next;
+	menu "Yes",-,"No",RND;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q13:
+	if (@Q13 != 0) goto RND;
+	set @Q13,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "You answer people full of respect and with kindness.";
+	next;
+	menu "Yes",-,"No",RND;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q14:
+	if (@Q14 != 0) goto RND;
+	set @Q14,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "You fight when you feel like it.";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q15:
+	if (@Q15 != 0) goto RND;
+	set @Q15,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "You go to the pub every night.";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q16:
+	if (@Q16 != 0) goto RND;
+	set @Q16,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "You believe in the Father, Son and Holy Spirit.";
+	next;
+	menu "Yes",-,"No",RND;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q17:
+	if (@Q17 != 0) goto RND;
+	set @Q17,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "You believe that the Devil is evil and cruel and should be treated the same way.";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q18:
+	if (@Q18 != 0) goto RND;
+	set @Q18,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "You believe that talk is for wimps and that action plays the main role in peace-making";
+	next;
+	menu "Yes",RND,"No",-;
+	set @ANS,@ANS + 1;
+	goto RND;
+	Q19:
+	if (@Q19 != 0) goto RND;
+	set @Q19,1;
+	set @Q,@Q + 1;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "If all other means to keep peace fail, THEN it is all right to resort to violence.";
+	next;
+	menu "Yes",-,"No",RND;
+	set @ANS,@ANS + 1;
+	goto RND;
+	DONE:
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "You got "+ @ANS +" / 10 questions correct.";
+	next;
+	if (CRUS_Q != 10) goto secND;
+	if (@ANS < 8) goto NO;
+	PASS:
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Excellent work!  You qualify to pass the ^FF8000Knowledge Test^000000!";
+	mes "You're almost done, you are now at the ^FF8000Purification Test^000000, find Bliant Piyord at ^008000Prontera Chivalry^000000.";
+	set CRUS_Q, 11;
+	close;
+	NO:
+	set CRUS_Q, 10;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "I'm sorry, you didn't get enough to qualify.";
+	next;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Try giving it another go when you feel you're ready.";
+	mes "I'll only expect you to get at least 8 correct from now on.";
+	close;
+	secND:
+	if (@ANS > 7) goto PASS;
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "I'm sorry, you didn't get enough correct.";
+	close;
+	EXIT:
+	if (CRUS_Q == 10) goto BEGIN;
+	if (CRUS_Q > 10) goto FINISH;
+	close;
+	FINISH:
+	mes "[^000080Gabriel Valentine^000000]";
+	mes "Please go to the Guardian Knight at ^008000Prontera Castle^000000 to continue on to the ^FF8000Purification Test^000000.";
+	close;
+NEXT0:
+	if (BaseJob != 2) goto NEXT1;
+	mes "Hello, welcome to the ^008000Prontera Chivalry^000000.";
+	mes "Hope you have a good day!";
+	close;
+NEXT1:
+	if (BaseJob != 3) goto NEXT2;
+	mes "Good luck in your hunting.";
+	close;
+NEXT2:
+	if (BaseJob != 4) goto NEXT3;
+	mes "Good day to you!";
+	mes "Hope you do well to find your path.";
+	close;
+NEXT3:
+	if (BaseJob != 5) goto NEXT4;
+	mes "Hello, we don't currently need anything, sorry about that.";
+	close;
+NEXT4:
+	if (BaseJob != 6) goto NEXT5;
+	mes "Better watch yourself.";
+	close;
+NEXT5:
+	if (BaseJob != 7) goto NEXT6;
+	mes "Good day to you, "+ strcharinfo(0);
+	close;
+NEXT6:
+	if (BaseJob != 8) goto NEXT7;
+	mes "Good day, " + strcharinfo(0);
+	mes "I would hope to believe that all is going well.";
+	close;
+NEXT7:
+	if (BaseJob != 9) goto NEXT8;
+	mes "Hello!  Nice to have you wish us.";
+	close;
+NEXT8:
+	if (BaseJob != 10) goto NEXT9;
+	mes "Hello, we're not in need of any weapons or armour at the moment, thank you.";
+	close;
+NEXT9:
+	if (BaseJob != 11) goto NEXT10;
+	mes "Hello, wish you luck for your success.";
+	close;
+NEXT10:
+	if (BaseJob != 12) goto NEXT11;
+	mes "Stay out of trouble, you don't want the guards to come after you, now do you?";
+	close;
+NEXT11:
+	if (BaseJob != 14) goto NEXT12;
+	mes "Good day, " + strcharinfo(0);
+	close;
+NEXT12:
+	if (BaseJob != 15) goto NEXT13;
+	mes "Hello, welcome to the ^008000Knight's Headquarters^000000.";
+	close;
+NEXT13:
+	if (BaseJob != 16) goto NEXT14;
+	mes "Welcome to the ^008000Knight's Headquarters^000000, I hope you enjoy your stay.";
+	close;
+NEXT14:
+	if (BaseJob != 17) goto NEXT15;
+	mes "Stay out of trouble if you know what's good for you.";
+	close;
+NEXT15:
+	if (BaseJob != 18) goto NEXT16;
+	mes "So, how are the experiments going down in ^00FF00Al de Baran^000000?";
+	close;
+NEXT16:
+	if (BaseJob != 19) goto NEXT17;
+	mes "Welcome to the castle, good sir.";
+	close;
+NEXT17:
+	if (BaseJob != 20) goto NEXT18;
+	mes "Good day, miss.";
+	close;
+NEXT18:
+	if (BaseJob != 22) goto NEXT19;
+	if (Sex != 0) goto MALE;
+	mes "Hello, welcome to the ^008000Knight's Headquarters^000000.";
+	close;
+	MALE:
+	mes "Well done, sir!";
+	close;
+NEXT19:
+	mes "Hello and good day!";
+	close;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Bliant Piyord - Crusader Job Quest - Purification Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+prt_in.gat,83,97,0	script	Patron Knight	734,{
+	mes "[^000080Bliant Piyord^000000]";
+	if (BaseJob != 0) goto NEXT_o;
+	mes "Hello, young traveler.";
+	mes "Welcome.";
+	close;
+NEXT_o:
+	if (BaseJob != 1) goto NEXT0;
+	if (CRUS_Q == 11) goto PART1;
+	if (CRUS_Q == 12) goto PART2;
+	if (CRUS_Q != 13) goto EXIT;
+	mes "Well done!";
+	mes "Go talk to ^000080Michael Halig^000000, he will turn you into a ^800000Crusader^000000.";
+	close;
+	PART2:
+	if (@CRU2 == 43) goto EXIT2;
+	PART2A:
+	mes "So, do you want to try again?";
+	next;
+	menu "Yes",TEST,"No",-;
+	mes "[^000080Bliant Piyord^000000]";
+	mes "Oh, okay then.";
+	close;
+	PART1:
+	mes "Hello, " + strcharinfo(0);
+	mes "I see that you've passed thus far.";
+	next;
+	mes "[^000080Bliant Piyord^000000]";
+	mes "Don't let me down in this test.";
+	mes "This is the ^FF8000Purification Test^000000.";
+	mes "I will take you to the proper location when you are ready.";
+	next;
+	menu "I want to go now.",-,"All right, just a second.",EXIT0;
+	TEST:
+	mes "[^000080Bliant Piyord^000000]";
+	mes "Let me make sure it's empty first.";
+	next;
+	if( getmapusers("job_cru.gat")>0 ) goto EXIT1;
+	killmonster "job_cru.gat","CR_KILL::OnStart";
+	savepoint "prt_in.gat",81,100;
+	set CRUS_Q, 12;
+	warp "job_cru",167,175;
+	EXIT1:
+	mes "[^000080Bliant Piyord^000000]";
+	mes "I'm sorry, but someone else is inside at the moment.";
+	close;
+	EXIT0:
+	mes "[^000080Bliant Piyord^000000]";
+	mes "No problem, take as long as you need.";
+	close;
+	EXIT:
+	mes "Hello, " + strcharinfo(0);
+	mes "So how are things coming along with building up your abilities?";
+	mes "Are you strong enough to become a ^800000Crusader^000000 yet?";
+	next;
+	mes "[^000080Bliant Piyord^000000]";
+	mes "If you do, you'll find yourself coming back to me for one of the tests.";
+	close;
+EXIT2:
+	mes "Well done!";
+	set CRUS_Q,13;
+	next;
+	mes "Return to ^000080Michael Halig^000000 and he will make you a ^800000Crusader^000000.";
+	close;
+NEXT0:
+	if (BaseJob != 2) goto NEXT1;
+	mes "It's nice to see you.";
+	mes "Hope we'll be able to work together to keep ^00FF00Prontera^000000 safe.";
+	close;
+NEXT1:
+	if (BaseJob != 3) goto NEXT2;
+	mes "Welcome, I hope you have a great day!";
+	close;
+NEXT2:
+	if (BaseJob != 4) goto NEXT3;
+	mes "Good day to you!";
+	close;
+NEXT3:
+	if (BaseJob != 5) goto NEXT4;
+	mes "Hello, sorry but I'm not in need of anything.";
+	close;
+NEXT4:
+	if (BaseJob != 6) goto NEXT5;
+	mes "Don't think you can get away with theft in ^00FF00Prontera^000000, we have soldiers watching everywhere.";
+	close;
+NEXT5:
+	if (BaseJob != 7) goto NEXT6;
+	mes "Welcome!";
+	mes "I hope you have a great day!";
+	close;
+NEXT6:
+	if (BaseJob != 8) goto NEXT7;
+	mes "Welcome to ^00FF00Prontera^000000!";
+	mes "Hope you have a good day!";
+	close;
+NEXT7:
+	if (BaseJob != 9) goto NEXT8;
+	mes "Hello!  Glad to see people of your stature here!";
+	close;
+NEXT8:
+	if (BaseJob != 10) goto NEXT9;
+	mes "I appreciate your presence, but I don't need anything at the moment.";
+	mes "Sorry about that.";
+	close;
+NEXT9:
+	if (BaseJob != 11) goto NEXT10;
+	mes "How goes the hunting campaign?";
+	mes "Hope everything is going all right.";
+	close;
+NEXT10:
+	if (BaseJob != 12) goto NEXT11;
+	mes "Stay out of trouble, you hear me?";
+	close;
+NEXT11:
+	if (BaseJob != 14) goto NEXT12;
+	mes "Welcome!  Good day to you!";
+	close;
+NEXT12:
+	if (BaseJob != 15) goto NEXT13;
+	mes "Good day, I hope your stay in ^00FF00Prontera^000000 will be a peaceful one.";
+	close;
+NEXT13:
+	if (BaseJob != 16) goto NEXT14;
+	mes "It's good to see people of your stature here in ^00FF00Prontera^000000!";
+	close;
+NEXT14:
+	if (BaseJob != 17) goto NEXT15;
+	mes "Be careful if you don't want to get caught.";
+	mes "I don't want to have to hang you or something.";
+	close;
+NEXT15:
+	if (BaseJob != 18) goto NEXT16;
+	mes "I hope the experiments in ^00FF00Al de Baran^000000 are legal, or we'll have to send someone to clear it up.";
+	close;
+NEXT16:
+	if (BaseJob != 19) goto NEXT17;
+	mes "Ah, what a fine day it is to have such a person as yourself to come and visit.";
+	close;
+NEXT17:
+	if (BaseJob != 20) goto NEXT18;
+	mes "Welcome, good day to you!";
+	close;
+NEXT18:
+	if (BaseJob != 22) goto NEXT19;
+	if (Sex != 0) goto MALE;
+	mes "Wow!  Congratulations on your marriage!";
+	close;
+	MALE:
+	mes "Well done!  I congratulate you upon your marriage!";
+	close;
+NEXT19:
+	mes "Good day to you!";
+	close;
+}
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Entry A - Crusader Job Quest - Patience Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+
+job_cru.gat,23,42,0	script	CR_DEAD	-1,{
+
+OnStart:
+	killmonster "job_cru.gat","CR_DEAD::OnStart";
+	set @CRU1,0;
+	enablenpc "CR_TST_2";
+	warp "prt_castle.gat",162,27;
+}
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Entry - Crusader Job Quest - Patience Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+job_cru.gat,23,42,0	script	CR_TST_2	139,8,8,{
+
+	if (CRUS_Q != 6) goto EXIT;
+	set @CRU1,1;
+	mapannounce "job_cru.gat","Please endure here and go to the exit.",8;
+
+	monster "job_cru.gat",10,43,"Ghoul",1910,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",14,47,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",26,46,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",31,46,"Requium",1913,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",16,52,"Raydric Archer",1914,0,"CR_DEAD::OnStart";
+	monster "job_cru.gat",22,53,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",28,49,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",12,54,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",17,55,"Ghoul",1910,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",21,57,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",30,58,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",11,64,"Raydric Archer",1914,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",19,67,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",24,62,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",13,70,"Ghoul",1910,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",18,69,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",29,67,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",32,68,"Requium",1913,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",16,75,"Raydric Archer",1914,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",21,74,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",27,76,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",14,78,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",19,76,"Ghoul",1910,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",24,79,"Requium",1913,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",14,83,"Raydric Archer",1914,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",18,85,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",22,84,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",33,86,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",13,89,"Ghoul",1910,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",17,92,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",23,90,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",26,88,"Ghoul",1910,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",17,97,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",23,100,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",31,101,"Ghoul",1910,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",13,103,"Raydric Archer",1914,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",22,105,"Injustice",1912,1,"CR_DEAD::OnStart";
+	monster "job_cru.gat",30,107,"Khalitzburg",1911,1,"CR_DEAD::OnStart";
+	disablenpc "CR_TST_2";
+	end;
+	EXIT:
+	warp "prt_castle.gat",162,27;
+}
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Exit - Crusader Job Quest - Patience Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+job_cru.gat,23,109,0	script	CR_EXT_1	139,1,1,{
+
+if (@CRU1 == 0) goto JUMP;
+	set CRUS_Q,7;
+	killmonster "job_cru.gat","CR_DEAD::OnStart";
+	enablenpc "CR_TST_2";
+JUMP:
+	warp "prt_castle.gat",162,28;
+}
+
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Fighting Area - Crusader Job Quest - 4th Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+
+job_cru.gat,167,175,0	script	CR_KILL	-1,{
+
+OnStart:
+	if (@CRU2 == 43) goto good;
+
+	set @CRU2,@CRU2 +1;
+	announce "You killed another monster.",3;
+	end;
+
+	good:
+	announce "You killed all monsters, you may go to the exit.",3;
+	end;
+}
+
+job_cru.gat,167,175,0	script	CR_TST_4	139,1,1,{
+
+	if(CRUS_Q != 12) goto EXIT;
+	set @CRU2,1;
+	announce "Defeat all the enemies.",3;
+	monster "job_cru.gat",163,42,"Bongun",1188,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",171,66,"Bongun",1188,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",163,89,"Bongun",1188,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",171,115,"Bongun",1188,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",166,141,"Bongun",1188,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",168,166,"Bongun",1188,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",164,170,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",173,153,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",164,138,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",166,128,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",171,117,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",163,102,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",172,84,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",162,76,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",167,65,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",171,58,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",162,48,"Munak",1026,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",170,33,"Munak",1026,1,"CR_KILL::OnStart";	
+	monster "job_cru.gat",170,26,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",166,37,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",171,47,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",165,61,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",172,65,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",163,77,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",164,86,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",165,98,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",170,101,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",163,110,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",164,117,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",166,129,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",165,139,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",166,151,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",168,160,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",162,169,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",171,171,"Skeleton",1076,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",162,32,"Zombie",1015,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",165,51,"Zombie",1015,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",172,73,"Zombie",1015,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",170,92,"Zombie",1015,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",173,111,"Zombie",1015,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",170,124,"Zombie",1015,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",171,147,"Zombie",1015,1,"CR_KILL::OnStart";
+	monster "job_cru.gat",163,162,"Zombie",1015,1,"CR_KILL::OnStart";
+	disablenpc "CR_TST_4";
+	EXIT:
+	end;
+}
+
+
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+//
+// Test 4 Exit - Crusader Job Quest - 4th Test
+// By Black Dragon based on the information at RagnaInfo
+//
+//-----------------------------------------------------------------------------------------------------------------------------------------------------
+job_cru.gat,167,17,0	script	CR_EXT_4	139,2,2,{
+	enablenpc "CR_TST_4";
+	warp "prt_in.gat",81,100;
+}
+
+//==============================================================================
+// mapflag
+//==============================================================================
+job_cru.gat	mapflag	nomemo
+job_cru.gat	mapflag	noteleport
+job_cru.gat	mapflag	nosave	SavePoint
+job_cru.gat	mapflag	nopenalty
+job_cru.gat	mapflag	nobranch
+job_cru.gat	mapflag	noexp
+job_cru.gat	mapflag	noloot