////===== 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
