//===== eAthena Script ======================================= 
//= Rogue Job Quest
//===== By: ================================================== 
//= kobra_k88
//===== Current Version: ===================================== 
//= 1.3
//===== Compatible With: ===================================== 
//= eAthena 1.0 +
//===== Description: ========================================= 
//= Rogue job quest based off of official iRO Rogue quest.
//= There are some differences from official quest due to scripting issues.
//= Missing some message text.  
//===== Additional Comments: ================================= 
//= 1.1 fixed 3 wrong questions, added missing lines [Lupus]
//= 1.3 Baby Class Support + 40/50 JobLevel Item fix [Lupus]
//============================================================ 


//=======================================================================================================//
//					Markie: Test 1 and Jobchange						//
//***********************************************************************************************************************************************************//
in_rogue.gat,363,123,3	script	꿭	747,{

	mes "[꿭]";
	if(BaseJob == Job_Thief) goto L_Thief;
	if(BaseJob == Job_Rogue) goto L_Rogue;

L_JobOther:
	mes "Ҳ֪ôҵطģҽøϿ뿪..........";
	close;

L_Rogue:
	mes "ּܸˣåȤ! ǺǺ....";
	close;

L_Thief:
	if(JobLevel >= 40) goto L_Start;
	mes "! ! ΪһåĻٶѵ.";
	mes "ְֻҵȼ 40 ϵĵתְå.";
	close;

HighRog:
	mes "[꿭]";
	mes "ѽ! Ѿλ!";
	mes "ܱǸ! ûа취תְå!";
	mes "ȥ׷תְ!";
	mes "ǲʺְҵ!";
	close;

L_Start:
	if(ROGUE_Q == 1) goto L_ReTest;
	if(ROGUE_Q == 2) goto L_Test2;
	if(ROGUE_Q == 3) goto L_Test3;
	if(ROGUE_Q == 4) goto L_Test4;
	if(ROGUE_Q == 5) goto L_Change;
	mes "? ʲô㴵? ! ... Ϊһåǰ?";
	next;
	menu "ǵ",-,"",L_End;

	mes "[꿭]";
	if (((BaseJob == Job_Thief) && (Upper == 1)) || (ReBirth > 0)) goto HighRog;
	mes "ܸʶ㣬ҵ꿭?";
	next;
	mes "[꿭]";
	mes strcharinfo(0) + "..... Ǻǣ. ˣΪʲôΪһå?";
	next;
	mes "[꿭]";
	mes "Ȼôʵظʵ֣ҲҪ.";
	mes "ΪĽ룬åǾԲκ͸¶ʵݵ.";
	next;
	mes "[꿭]";
	mes "åһӽԺμסһ.";
	mes "ţôһЩҪдһЩر.....";
	next;
	mes "(дһЩ񲢰꿭)";
	set JBLVL, 40;			// used to determine what item to get at the end
	if(JobLevel == 50) set JBLVL, 50;	// used to determine what item to get at the end
	next;
	mes "[꿭]";
	mes ".... ûʲô⣬ôҾͽ.";
	mes "Ϊ˱ҪȶһЩ";
	next;
	mes "[꿭]";
	mes "! 㲻ý... ֻ֪å˽ٶ.";
	mes "Ҷÿһ˶ԵģôԿʼ?";
	next;
	menu "ʼ",L_Test1, "ȵ...һҪ׼һ",-;

		mes "[꿭]";
		mes "õģĵȥ׼ɣ׼֮ٻ.";
		close;


//=================================================================
L_Test1:
//=======
	mes "[꿭]";
	mes "ڿʼһһЩ⣬ĿȻΪȷĴ𰸸ң˽?";
	next;
	savepoint "in_rogue.gat",366,114;
	set @score, 0;
	set ROGUE_Q, 1;
	set @temp, rand(1,3);
	if(@temp == 2) goto L_QSet2;
	if(@temp == 3) goto L_QSet3;

	L_QSet1:
		mes "[꿭]";
		mes "1) ĲӰʮʱĻرǶ?";
		next;
		menu "30",-, "40",sM1_1, "160",sM1_1, "20",sM1_1;

			set @score, @score + 10;

		sM1_1:

		mes "[꿭]";
		mes "2) һֻħԿ/αװĵ?";
		next;
		menu "˹֩",-, "ɭ",sM1_2, "ľ",sM1_2, "аʿ",sM1_2;

			set @score, @score + 10;

		sM1_2:

		mes "[꿭]";
		mes "3) åתְĵط?";
		next;
		menu "ħ",sM1_3, "˿ħ",sM1_3, "˹ ",-, "޿",sM1_3;

			set @score, @score + 10;

		sM1_3:

		mes "[꿭]";
		mes "4) еתְĴ?";
		next;
		menu "ħ",sM1_4, "",sM1_4, "",sM1_4, "޿",-;

			set @score, @score + 10;

		sM1_4:

		mes "[꿭]";
		mes "5) (Dex)ûйϵĿƬ";
		next;
		menu "ȳ濨",sM1_5, "ľ",-, "׿",sM1_5, "",sM1_5;

			set @score, @score + 10;

		sM1_5:

		mes "[꿭]";
		mes "6) ѡåְҵ˵ĵط?";
		next;
		menu "׿ԽĻϢ",sM1_6, "׿ԽĽƻ",sM1_6, "׿Խĺ޳",sM1_6, "׿ԽĹ",-;

			set @score, @score + 10;

		sM1_6:

		mes "[꿭]";
		mes "7) ְҵȼҪﵽſתְå?";
		next;
		menu "30",sM1_7, "35",sM1_7, "40",-, "50",-;

			set @score, @score + 10;

		sM1_7:

		mes "[꿭]";
		mes "8) ҪͷȾɫʴɫҪȥ?";
		next;
		menu 	"޿ˣ7ӷ",sM1_8, "¡7ӷ潨",-,
			"޿ˣ5ӷ",sM1_8, "¡1ӷ",sM1_8;

			set @score, @score + 10;

		sM1_8:

		mes "[꿭]";
		mes "9) ѧҪתְΪʱҪһĢ?";
		next;
		menu "㹽",-, "ë㹽",sM1_9, "㹽",-, "㹽",sM1_9;

			set @score, @score + 10;

		sM1_9:

		mes "[꿭]";
		mes "10) åûйĿƬ?";
		next;
		menu "鿨Ƭ",sM1_10, "Ƭ",-, "׿Ƭ",sM1_10, "ںƬ",sM1_10;

			set @score, @score + 10;

		sM1_10:
		goto L_Score;


	L_QSet2:
		mes "[꿭]";
		mes "1) ѧϰåǱݼʱҪļ?";
		next;
		menu "",-, "͵",sM2_1, "Ӱ",sM2_1, "",sM2_1;

			set @score, @score + 10;

		sM2_1:

		mes "[꿭]";
		mes "2) åļܣ 'ǿƼ'Ʒۼʣ˵ͼȼ10ʱ򣬶༸%?";
		next;
		menu "3%",sM2_2, "2%",sM2_2, "1%",-, "0%",sM2_2;

			set @score, @score + 10;

		sM2_2:

		mes "[꿭]";
		mes "3) '͵Ǯ' ܵ?";
		next;
		menu "͵Ʒ",sM2_3, "ħ͵Ʒ",sM2_3, "ħ͵",-, "͵",sM2_3;

			set @score, @score + 10;

		sM2_3:

		mes "[꿭]";
		mes "4) ʹ 'å' ʱҪ?";
		next;
		menu "1 å + 2 ̿",sM2_4, "2 å + 1 ",sM2_4, "4 ",sM2_4, "2  2 ϵå",-;

			set @score, @score + 10;

		sM2_4:

		mes "[꿭]";
		mes "5) жͷLv5ʱֵļ?";
		next;
		menu "ʩ",sM2_5, "",sM2_5, "ԸȾ",sM2_5, "ж",-;

			set @score, @score + 10;

		sM2_5:

		mes "[꿭]";
		mes "6) һǿ״̬ƶ?";
		next;
		menu "",sM2_6, "˻ر",sM2_6, "Ǳ",-, "ɰ",sM2_6;

			set @score, @score + 10;

		sM2_6:

		mes "[꿭]";
		mes "7) һſƬԷʵĿƬ?";
		next;
		menu "ϿƬ",sM2_7, "ѪƬ",sM2_7, "ľƬ",-, "ˮĸƬ",sM2_7;

			set @score, @score + 10;

		sM2_7:

		mes "[꿭]";
		mes "8) ʹзƬʱһħĹЧ?";
		mes "(Իħ 20% ˺)";
		next;
		menu 	"з",sM2_8, "Сħ",sM2_8, "",-, "ͷ",sM2_8;

			set @score, @score + 10;

		sM2_8:

		mes "[꿭]";
		mes "9) ö̽ʱĵSP?";
		next;
		menu " 15 SP",sM2_9, "Ҫ SP",-, " 10 SP",sM2_9, " 54 SP",sM2_9;

			set @score, @score + 10;

		sM2_9:

		mes "[꿭]";
		mes "10) ˹³õѨЧԽʲô?";
		next;
		menu "Ա׾̽",-, "ˮԱ׾̽",sM2_10, "Ա׾̽",sM2_10, "Ա׾̽",sM2_10;

			set @score, @score + 10;

		sM2_10:
		goto L_Score;


	L_QSet3:
		mes "[꿭]";
		mes "1) жĳ̽Դһֻħϻ?";
		next;
		menu "С",sM3_1, "",sM3_1, "ɳĮ֮",sM3_1, "Ȯ",-;

			set @score, @score + 10;

		sM3_1:

		mes "[꿭]";
		mes "2) жı׾̽Դһֻħϻ?";
		next;
		menu "",-, "ɳĮ֮",sM3_2, "",sM3_2, "˹",sM3_2;

			set @score, @score + 10;

		sM3_2:

		mes "[꿭]";
		mes "3) һְҵҩˮ?";
		next;
		menu "",sM3_3, "ʿ",-, "",sM3_3, "ʦ",sM3_3;

			set @score, @score + 10;

		sM3_3:

		mes "[꿭]";
		mes "4) һåʹõ?";
		next;
		menu "ǹ",sM3_4, "ʮֹ",sM3_4, "̽",sM3_4, "ȭ",-;

			set @score, @score + 10;

		sM3_4:

		mes "[꿭]";
		mes "5) ?";
		next;
		menu "ˮ",sM3_5, "",sM3_5, "",sM3_5, "",-;

			set @score, @score + 10;

		sM3_5:

		mes "[꿭]";
		mes "6) ĸħﲻɳ?";
		next;
		menu "",sM3_6, "",-, "սʿ",sM3_6, "ħ",sM3_6;

			set @score, @score + 10;

		sM3_6:

		mes "[꿭]";
		mes "7) Զ̽һħЧ?";
		next;
		menu "̵粼",sM3_7, "̴粼",sM3_7, "粼",sM3_7, "ͷ粼",-;

			set @score, @score + 10;

		sM3_7:

		mes "[꿭]";
		mes "8) һûùǱ?";
		next;
		menu 	"¡",sM3_8, "",sM3_8, "",-, "",sM3_8;

			set @score, @score + 10;

		sM3_8:

		mes "[꿭]";
		mes "9) һֲݻɫҩ?";
		next;
		menu "̲",sM3_9, "Ʋ",sM3_9, "",-, "â",-;

			set @score, @score + 10;

		sM3_9:

		mes "[꿭]";
		mes "10) һֲǲϵħ?";
		next;
		menu "ʬ",sM3_10, "аʳ",sM3_10, "Ѫ",-, "˹",sM3_10;

			set @score, @score + 10;

		sM3_10:
		goto L_Score;

	L_Score:
		mes "[꿭]";
		mes "! ЩҪʵ⣬̫Ѱ?";
		mes "ôҪʼĴ.";
		next;
		mes "[꿭]";
		mes "ϲΪ˴ǲ֪ǵ֪ʶж.";
		mes "...ķ: ^FF3355" + @score +"^000000/100............";
		next;
		mes "[꿭]";
		if(@score< 90) goto sL_Failed;
		if(@score<100) goto sL_Passed;

		sL_Perfect:
			mes "! ! å.....";
			mes "ԵΪ滹һЩĲ.....";
			next;
			mes "[꿭]";
			set ROGUE_Q, 2;
			goto L_Test2;
		sL_Passed:
			mes "ܺãܺ! ò. 滹һЩĲ.....";
			next;
			mes "[꿭]";
			set ROGUE_Q, 2;
			goto L_Test2;
		sL_Failed:
			mes "..... ⲻҿԽܵķ......";
			mes "һ˵ʲô? ̶ֳȵ֪ʶˮ׼ǾԲһå..........";
			emotion 4;
			next;
			mes "[꿭]";
			mes "㻹ٶȥѧϰѧϰ... Ҫѵ..... ˷ҵʱ.....";
			close;

L_ReTest:
	mes "? ׼?...... ţһ....";
	next;
	goto L_Test1;

L_Test2:
	mes "һҪȥ ^5533FF˾˹^000000.";
	mes "ҪȾ㣬˾˹Ǻܸȡõ. ԣעоֹ.";
	close;
L_Test3:
	mes "֪Щһʵںҵ. ҪĵѰ. ͬʱȷһǵȷ..";
	close;
L_Test4:
	mes "ʲô? òҪĲ?.........";
	emotion 1;
	next;
	mes "[꿭]";
	mes "ҪеĲˣͰ! һ԰쵽!";
	close;


//=======================================================================
L_Change:
//===========
	mes "! Ż˰?ͨеĲ.";
	mes "֤Ѿ׼ҪΪһå!";
	emotion 5;
	next;
	if(SkillPoint != 0) goto L_SkillP;
	mes "[꿭]";
	mes "Ǻ! ϲΪһåչŬľҪһС......";
	setoption 0;
	setlook 7,0;
	callfunc "Job_Change",Job_Rogue;
	emotion 46;
	next;
	mes "[꿭]";
	mes "һåˣκεطȥκ.";
	if(JBLVL == 40) getitem 1219,1;		// 2 slott gladius
	if(JBLVL == 50) getitem 1220,1;		// 3 slott gladius
	callfunc "F_ClearJobVar";
	next;
	mes "[꿭]";
	mes "ǵãҪ۵! Ҫͬ!";
	next;
L_End:
	mes "[꿭]";
	mes "ףˣټ!";
	close;

//=======================================================================
L_SkillP:
//===========
	mes "[꿭]";
	mes "! м, װ... 㻹Щûѧ?!";
	mes "ȰѧϰĿγѧٻ! ?";
	close;
}



//=======================================================================================================//
//					˾˹: Tests 2 and 3						//
//***********************************************************************************************************************************************************//
in_rogue.gat,376,23,3	script	˾˹	57,{

	mes "[˾˹]";
	if(BaseJob == Job_Thief) goto L_Thief;
	if(BaseJob == Job_Rogue) goto L_Rogue;

L_OtherJob:
	mes "߿! Һæ.....";
	close;
L_Rogue:
	mes "ҵåѰ㿴ɫ!";
	close;
L_Thief:
	if(ROGUE_Q == 2) goto L_Test2;
	if(ROGUE_Q == 3) goto L_Test3;
	if(ROGUE_Q > 3) goto L_Done;
	mes "  .... 1... 2.... 3.... ... .... ޿... .... ħ??.......";
	next;
	mes "[˾˹]";
	mes "..... ͷʹ.......";
	next;
	mes "[˾˹]";
	mes "? ˭? ΪһåĻȥ ^5533FF꿭^000000....";
	next;
	mes "[˾˹]";
	mes "...... ɶ! !!";
	emotion 16;
	close;

//----------------------------------------------------------------------------------------------------
L_Test2:
//--------------
	if(ROGUE_Q2 > 0) goto L_Check2;
	mes "μӵڶ׶βǰ.... ţܺ.......";
	next;
	mes "[˾˹]";
	mes "ڿʼ֮ǰȸһЩйزԷõ";
	mes "åҪִУҪ̶Ļ.";
	next;
	mes "[˾˹]";
	mes "ΪʲôҪÿλåתְԵȡ ^5533FF10,000 zeny^000000 ķ.";
	mes "Щûɵڶ׶βʱȡԼʹûǮҲԷĲμӲ";
	next;
	mes "[˾˹]";
	mes "ˣĲ..... ȥѼƷ:";
	next;
	mes "[˾˹]";
	set ROGUE_Q2, rand(1,3);
	if(ROGUE_Q2 == 1) callsub sF2_R1;
	if(ROGUE_Q2 == 2) callsub sF2_R2;
	if(ROGUE_Q2 == 3) callsub sF2_R3;
	next;
	mes "[˾˹]";
	mes "Ѽǵͬ 10,000 zeny һ.";
	close;

	sF2_R1:
		mes "^5533FFɫҩ 6 Ƭ";
		mes "Ź 10 ";
		mes "ָ 10 ";
		mes " 10 ^000000.";
		return;
	sF2_R2:
		mes "^5533FFɫҩ 10 Ƭ";
		mes " 10 ";
		mes "սᾧ 10 ";
		mes "з 10 ^000000";
		return;
	sF2_R3:
		mes "^5533FFɫҩ 10 Ƭ";
		mes " 10 ";
		mes "Ӳ 10 ";
		mes "ȳ 10 ^000000.";
		return;

L_Check2:
	set @count, 0;
	if(ROGUE_Q2 == 2) goto L_2;
	if(ROGUE_Q2 == 3) goto L_3;

	L_1:
		set @R, 1;
		if(countitem(510)<6 || countitem(932)<10 || countitem(957)<10 || countitem(958)<10 || Zeny < 10000) goto L_NotEnuf;
		delitem 510,6;
		delitem 932,10;
		delitem 957,10;
		delitem 958,10;
		goto L_Done2;

	L_2:
		set @R, 2;
		if(countitem(511)<10 || countitem(910)<10 || countitem(926)<10 || countitem(964)<10 || Zeny < 10000) goto L_NotEnuf;
		delitem 511,10;
		delitem 910,10;
		delitem 926,10;
		delitem 964,10;
		goto L_Done2;

	L_3:
		set @R, 3;
		if(countitem(508)<10 || countitem(948)<10 || countitem(935)<10 || countitem(940)<10 || Zeny < 10000) goto L_NotEnuf;
		delitem 508,10;
		delitem 948,10;
		delitem 935,10;
		delitem 940,10;

	L_Done2:
		mes "! .... .... Ʒ...... ţû⣬ͨ˵ڶ׶β.";
		next;
		mes "[˾˹]";
		mes "׼ӭһ׶βʱ.";
		set Zeny, Zeny - 10000;
		set ROGUE_Q, 3;
		set ROGUE_Q2, 0;
		close;

	L_NotEnuf:
		mes ".... ɶ!?!? ûȫ? ҪѼЩƷ?.....";
		emotion 1;
		next;
		mes "[˾˹]";
		mes "ֽд! ܹҪ ^5533FF10,000^000000 zeny ԼƷ:";
		if(ROGUE_Q2 == 1) callsub sF2_R1;
		if(ROGUE_Q2 == 2) callsub sF2_R2;
		if(ROGUE_Q2 == 3) callsub sF2_R3;
		next;
		mes "[˾˹]";
		mes "дû? ûȫҪ......";
		emotion 32;
		close;


//----------------------------------------------------------------------------------------------
L_Test3:
//---------------
	if(ROGUE_Q2 > 0) goto L_Check3;
	mes "..... ȥѼʲô........ .........";
	emotion 20;
	next;
	mes "[˾˹]";
	mes "! ֪! ô죬֮ǰĲҽȥѼһЩƷҪȥҸ.";
	emotion 5;
	next;
	mes "[˾˹]";
	set ROGUE_Q2, rand(1,3);
	if(ROGUE_Q2 == 1) callsub sF3_R1;
	if(ROGUE_Q2 == 2) callsub sF3_R2;
	if(ROGUE_Q2 == 3) callsub sF3_R3;
	next;
	mes "[˾˹]";
	mes "ף. ׶εĲ. ʱҲåص!";
	close;

	sF3_R1:
		mes "ȥ ^5533FF^000000 .";
		next;
		mes "[˾˹]";
		mes "^5533FFߵͼϷ^000000 ƬɳĮ";
		mes "һСӣסǶ";
		next;
		mes "[˾˹]";
		mes "һļһŬծ";
		mes "һЩȴΪǰһЩɱ";
		next;
		mes "[˾˹]";
		mes "å֮סĵط";
		mes "åû֪סĶ.";
		next;
		mes "[˾˹]";
		mes "һμסʱ.";
		mes ": '^5533FF ûа Ʒ תƵ^000000'";
		return;
	sF3_R2:
		mes "ȥ ^5533FF^000000 .";
		next;
		mes "[˾˹]";
		mes "^5533FFߵͼĶϷ^000000 ƬɳĮ";
		mes "һСӣסǶ";
		next;
		mes "[˾˹]";
		mes "åû֪סĶ.";
		next;
		mes "[˾˹]";
		mes "һμסʱ.";
		mes ": '^5533FFҰְ ûа Ʒ תƵ^000000'";
		return;
	sF3_R3:
		mes "ȥ ^5533FFͯ^000000 .";
		next;
		mes "[˾˹]";
		mes "^5533FFߵͼĶ^000000 ħɳ̲";
		mes "һСӣסǶ";
		next;
		mes "[˾˹]";
		mes "åû֪סĶ.";
		next;
		mes "[˾˹]";
		mes "һμסʱ.";
		mes ": '^5533FFͯ ϲ  Ʒ^000000'";
		return;


L_Check3:
	mes "ʲô!?! Ҫȥ?........";
	emotion 1;
	next;
	mes "[˾˹]";
	mes "!!! 㲻ֽʼ? ......";
	emotion 6;
	next;
	mes "[˾˹]";
	if(ROGUE_Q2 == 1) callsub sF3_R1;
	if(ROGUE_Q2 == 2) callsub sF3_R2;
	if(ROGUE_Q2 == 3) callsub sF3_R3;
	close;

//-------------------------------------------------------------------------------------------------
L_Done:
//----------------
	mes "û.........";
	close;
}


//===========================================================
// Guildsman that need to be found
//===========================================================

//------------------------------------------------------------------------------
in_rogue.gat,272,136,3	script		85,{

	mes "[]";
	mes "? ʲ.... ˭?! 㲻Ǵå!! ҹ!";
	emotion 1;
	next;
	mes "[]";
	mes "..... ԭ! ǵ!!! ɱҵĶ԰??!! ... Ҫ!! һû׼Ҫ!";
	emotion 0;
	next;
	mes "[]";
	mes "!! ߿! ! ȻҾɱ!!!";
	emotion 16;
	close;
}

// --------------------------------------------------------------------------
cmd_fild09.gat,106,195,0	script	Warp#1	45,1,1,{
	callfunc "F_RogueTest3", 1, "", "ûа", "Ʒ", "תƵ", 244, 24;
}

// -----------------------------------------------------------------------------
cmd_fild09.gat,335,143,0	script	Warp#2	45,1,1,{
	callfunc "F_RogueTest3", 2, "Ұְ", "ûа", "Ʒ", "תƵ", 168, 34;
}

// ------------------------------------------------------------------------------
cmd_fild04.gat,304,179,0	script	Warp#3	45,1,1,{
	callfunc "F_RogueTest3", 3, "ͯ", "ϲ", "", "Ʒ", 165, 104;
}

// Function for Guildsman ===================================
function	script	F_RogueTest3	{

	mes "[???]";
	mes "˭?!!!";
	mes "ôĵӣԽҵĵ?";
	if((BaseJob != Job_Thief) || (ROGUE_Q < 3) || (ROGUE_Q2 == 0)) close;
L_Start:
	deletearray @choice$[1], 4;
	next;
	menu "Ұְ",M_1a, "",M_1b, "ͯ",M_1c, "չ˹",M_1d;

	M_1a:
		set @choice$[1], "Ұְ";
		goto M_Menu2;
	M_1b:
		set @choice$[1], "";
		goto M_Menu2;
	M_1c:
		set @choice$[1], "ͯ";
		goto M_Menu2;
	M_1d:
		set @choice$[1], "չ˹";

	M_Menu2:
	callsub sF_Password;
	menu "ûн",M_2a, "ϲ",M_2b, "ûа",M_2c, "û",M_2d;

	M_2a:
		set @choice$[2], "ûн";
		goto M_Menu3;
	M_2b:
		set @choice$[2], "ϲ";
		goto M_Menu3;
	M_2c:
		set @choice$[2], "ûа";
		goto M_Menu3;
	M_2d:
		set @choice$[2], "û";

	M_Menu3:
	callsub sF_Password;
	menu "",M_3a, "Ʒ",M_3b, "",M_3c, "",M_3d, "",M_3e;

	M_3a:
		set @choice$[3], "";
		goto M_Menu4;
	M_3b:
		set @choice$[3], "Ʒ";
		goto M_Menu4;
	M_3c:
		set @choice$[3], "";
		goto M_Menu4;
	M_3d:
		set @choice$[3], "";
		goto M_Menu4;
	M_3e:
		set @choice$[3], "";

	M_Menu4:
	callsub sF_Password;
	menu "תƵ",M_4a, "αƷ",M_4b, "Ʒ",M_4c, "װ",M_4d;

	M_4a:
		set @choice$[4], "תƵ";
		goto L_Check;
	M_4b:
		set @choice$[4], "αƷ";
		goto L_Check;
	M_4c:
		set @choice$[4], "Ʒ";
		goto L_Check;
	M_4d:
		set @choice$[4], "װ";

L_Check:
	callsub sF_Password;
	if(ROGUE_Q2 != getarg(0)) goto L_Wrong;
	if((@choice$[1] != getarg(1)) || (@choice$[2] != getarg(2)) || (@choice$[3] != getarg(3)) || (@choice$[4] != getarg(4))) goto L_Wrong;
	mes "~ ֨֨ ~";
	mes "Ŵ򿪵........";
	next;
	deletearray @choice$[1], 4;
	initnpctimer "rogue04";
	warp "in_rogue.gat", getarg(5), getarg(6);
	end;

	L_Wrong:
		mes "[???]";
		mes "!!";
		close;
sF_Password:
	mes "[^5533FF" + strcharinfo(0) + "^000000]";
	mes @choice$[1];
	mes @choice$[2];
	mes @choice$[3];
	mes @choice$[4];
	next;
	return;
}


//=======================================================================================================//
//						Test 4: Last Test						//
//***********************************************************************************************************************************************************//
// Other path
// warp "in_rogue.gat", 11, 388;
// 390,389 end warp
// 9,9 -> 9,21
//===============================================
// Guildsman
//===============================================
//---------------------------------------------------------------------------
in_rogue.gat,244,39,4	script	#rg	99,{
	callfunc "F_RogueTest4", "", 245, 27;
}
//---------------------------------------------------------------------------
in_rogue.gat,152,27,6	script	#rg	85,{
	callfunc "F_RogueTest4", "", 160, 32;
}
//---------------------------------------------------------------------------
in_rogue.gat,183,105,4	script	ͯ#rg	88,{
	callfunc "F_RogueTest4", "ͯ", 175, 107;
}

// Function for Guildsman =============================
function	script	F_RogueTest4	{

	if(ROGUE_Q == 4) goto L_Restart;
	mes "[" + getarg(0) + "]";
	mes "! С... Ǵåİ!   " + getarg(0) + "...... ɳĮå..............";
	next;
	mes "[" + getarg(0) + "]";
	mes "Ǻ...ֻǿЦ...... ˵ЩˣϣܳΪå?";
	emotion 4;
	next;
	mes "[" + getarg(0) + "]";
	mes "åĸ: ^5533FF'ӲӲ! ҵ书һ!'^000000";
	mes "ħԿʱ򵥵ķ.";
	next;
	mes "[" + getarg(0) + "]";
	mes "ΪåǰһҪ¾Ǵӵܵ߻ȥå.";
	next;
	mes "[" + getarg(0) + "]";
	mes "ܼ򵥰? ܱǸ! ûô! ܵгħ! õ....";
	mes "μåĸԲ似ܣ򲻹ʱ񱼵Ļͨ.";

	M_Menu:
	next;
	mes "[" + getarg(0) + "]";
	mes "ţ׼?";
	next;
	menu "Ҵûô",-, "ʵ˵е㺦",M_End;

	if ($@rogue04test > 0) mes "[" + getarg(0) + "]";
	if ($@rogue04test > 0) mes "ܵĿǰУڴ˴Ժһ°ɣûһ֪ͨ!";
	if ($@rogue04test > 0) close;

		mes "[" + getarg(0) + "]";
		mes "ôף!";
		next;
		set ROGUE_Q, 4;
		killmonsterall "in_rogue.gat";
		savepoint "in_rogue.gat", getarg(1), getarg(2);
		set $@rogue04test,1;
		initnpctimer "rogue04";
		warp "in_rogue.gat", 15, 105;
		end;

	M_End:
		mes "[" + getarg(0) + "]";
		mes ".....................";
		next;
		mes "[" + getarg(0) + "]";
		mes "ôĥ......";
		close;

L_Restart:
	mes "[" + getarg(0) + "]";
	mes "....... ʧ.......";
	emotion 4;
	next;
	mes "[" + getarg(0) + "]";
	mes "㻹ĻҾȥ. ʧΪɹ֮ĸ.... Ǻ  ....";
	percentheal 100,100;
	goto M_Menu;
}

//================================================
// Monster Spawns
//================================================
in_rogue.gat,15,185,0	script	rogue_mob1	139,8,0,{
	monster "in_rogue.gat",14,188,"ʬ",1015,1;
	monster "in_rogue.gat",15,188,"ʬ",1015,1;
	monster "in_rogue.gat",16,188,"ʬ",1015,1;
	monster "in_rogue.gat",14,189,"ʬ",1015,1;
	monster "in_rogue.gat",15,189,"ʬ",1015,1;
	monster "in_rogue.gat",16,189,"ʬ",1015,1;
	end;
}
in_rogue.gat,15,245,0	script	rogue_mob2	139,8,0,{
	monster "in_rogue.gat",14,247,"ľ",1041,1;
	monster "in_rogue.gat",15,247,"ľ",1041,1;
	monster "in_rogue.gat",16,247,"ľ",1041,1;
	monster "in_rogue.gat",14,248,"ľ",1041,1;
	monster "in_rogue.gat",15,248,"ľ",1041,1;
	monster "in_rogue.gat",16,248,"ľ",1041,1;
	end;
}
in_rogue.gat,15,328,0	script	rogue_mob3	139,8,0,{
	monster "in_rogue.gat",14,331,"ʬ",1015,1;
	monster "in_rogue.gat",15,331,"ʬ",1015,1;
	monster "in_rogue.gat",16,331,"ʬ",1015,1;
	monster "in_rogue.gat",14,332,"ʬ",1015,1;
	monster "in_rogue.gat",15,332,"ʬ",1015,1;
	monster "in_rogue.gat",16,332,"ʬ",1015,1;
	end;
}
in_rogue.gat,35,342,0	script	rogue_mob4	139,0,8,{
	monster "in_rogue.gat",38,340,"ľ",1041,1;
	monster "in_rogue.gat",37,342,"Ԩʿ",1219,1;
	monster "in_rogue.gat",39,342,"̸ʬ",1036,1;
	monster "in_rogue.gat",38,344,"ľ",1041,1;
	end;
}
in_rogue.gat,57,306,0	script	rogue_mob5	139,4,0,{
	monster "in_rogue.gat",59,301,"˹",1132,1;
	end;
}
in_rogue.gat,96,333,0	script	rogue_mob6	139,0,4,{
	monster "in_rogue.gat",92,325,"˹",1132,1;
	end;
}
in_rogue.gat,139,313,0	script	rogue_mob7	139,4,0,{
	monster "in_rogue.gat",139,309,"Ԩʿ",1219,1;
	end;
}
in_rogue.gat,135,246,0	script	rogue_mob8	139,0,4,{
	monster "in_rogue.gat",139,245,"ʬ",1015,2;
	monster "in_rogue.gat",139,246,"ʬ",1015,2;
	monster "in_rogue.gat",139,247,"ʬ",1015,2;
	end;
}
in_rogue.gat,62,302,0	script	rogue_mob9	139,0,4,{
	monster "in_rogue.gat",57,305,"˹",1132,1;
	end;
}
in_rogue.gat,199,218,0	script	rogue_mob10	139,0,8,{
	monster "in_rogue.gat",157,218,"ʬ",1015,10;
	monster "in_rogue.gat",157,218,"Ԩʿ",1219,1;
	monster "in_rogue.gat",157,218,"̸ʬ",1036,1;
	monster "in_rogue.gat",157,218,"а",1016,1;
	end;
}
in_rogue.gat,86,187,0	script	rogue_mob11	139,0,8,{
	monster "in_rogue.gat",88,186,"ľ",1041,1;
	monster "in_rogue.gat",88,187,"ľ",1041,1;
	monster "in_rogue.gat",88,188,"ľ",1041,1;
	end;
}
in_rogue.gat,225,187,0	script	rogue_mob12	139,0,8,{
	monster "in_rogue.gat",232,191,"Ԩʿ",1219,1;
	monster "in_rogue.gat",233,190,"Ԩʿ",1219,1;
	monster "in_rogue.gat",234,189,"Ԩʿ",1219,1;
	end;
}
in_rogue.gat,252,320,0	script	rogue_mob13	139,0,8,{
	monster "in_rogue.gat",252,319,"ľ",1041,1;
	monster "in_rogue.gat",252,321,"ľ",1041,1;
	monster "in_rogue.gat",252,319,"̸ʬ",1036,1;
	monster "in_rogue.gat",252,321,"̸ʬ",1036,1;
	monster "in_rogue.gat",257,320,"а",1016,1;
	monster "in_rogue.gat",248,320,"а",1016,1;
	end;
}

//================================================
// End Warp
//================================================
in_rogue.gat,370,320,0	script	rogue04	45,1,1,{
	set ROGUE_Q, 5;
	killmonsterall "in_rogue.gat";
	stopnpctimer "rogue04";
	set $@rogue04test,0;
	warp "in_rogue.gat",378,113;
	end;

OnTimer30000:
	set $job_rogue_map1, getareausers("in_rogue.gat",234,20,275,61);
	set $job_rogue_map2, getareausers("in_rogue.gat",148,22,173,59);
	set $job_rogue_map3, getareausers("in_rogue.gat",158,102,185,119);
	set $job_rogue_map4, getareausers("in_rogue.gat",1,1,391,391);
	set $job_rogue_testarea,$job_rogue_map4-$job_rogue_map1-$job_rogue_map2-$job_rogue_map3;
	if ($job_rogue_testarea == 0 && $job_rogue_map4 > 0) goto endtest;
	if ($job_rogue_map4 == 0) goto endrogue;
	initnpctimer "rogue04";
	end;

endtest:
	killmonsterall "in_rogue.gat";
	stopnpctimer "rogue04";
	set $@rogue04test,0;
	areaannounce "in_rogue.gat",234,20,275,61,"ĿǰѾճ!һλ׼!",8;
	areaannounce "in_rogue.gat",148,22,173,59,"ĿǰѾճ!һλ׼!",8;
	areaannounce "in_rogue.gat",158,102,185,119,"ĿǰѾճ!һλ׼!",8;
	end;

endrogue:
	killmonsterall "in_rogue.gat";
	stopnpctimer "rogue04";
	set $@rogue04test,0;
	end;

}

//================================================
// Timer: Keeps monsters from overspawning
//================================================
//~- script RogueTest3 -1,
//~{
//~	end;
//~
//~OnMinute10:
//~OnMinute20:
//~OnMinute30:
//~OnMinute40:
//~OnMinute50:
//~OnMinute60:
//~	killmonsterall "in_rogue.gat";
//~	end;
//~}