//===== eAthena Script =======================================
//= Thief Job Quest
//===== By: ==================================================
//= eAthena dev team
//===== Current Version: =====================================
//= 1.6a
//===== Compatible With: =====================================
//= eAthena 1.0 +
//===== Description: =========================================
//= <Description>
//===== Additional Comments: =================================
//= Fully working
//= v1.1 Added instant job change for High Novice [Lupus]
//= 1.3 Added Baby Class support [Lupus]
//= v1.4 Optimised and moved first checker to Jfunc1-1 [massdriller]
//= Fixed possible EXP abuse [Lupus]
//= 1.5 Now saves/restores all quest skills [Lupus]
//= 1.6 Merged back JFunc [Lupus] 1.6a typos
//============================================================


// == Monsters ==
//Spawn is included in this file so make shure its not elsewhere to!
job_thief1.gat,0,0,0,0	monster	Orange Mushroom	1182,180,0,0,0
job_thief1.gat,0,0,0,0	monster	Fabre	1184,50,0,0,0
job_thief1.gat,0,0,0,0	monster	Chonchon	1183,50,0,0,0
job_thief1.gat,0,0,0,0	monster	Spore	1014,30,0,0,0


// == NPCs ==
// -- Interviewer --
moc_prydb1.gat,39,129,5	script	Thief Guide	69,{

	mes "[Thief Guide]";
	if(BaseJob == Job_Thief) {
		mes "You're already a thief.....  What do you want from me... go away!";
		emotion e_swt;
		close;
	}
	if(BaseClass == Job_Swordman) {
		mes "What the heck...? Meh!~Here's another 'Bash' head.  Do me a favor... why don't you go 'BASH', yourself in the head.  Ha!";
		emotion e_gg;
		close;
	}
	if(BaseClass == Job_Mage) {
		mes "What the heck...? Ehhh??? A Circus Sideshow? Make a fire without a Matchstick, will ya?";
		emotion e_swt2;
		close;
	}
	if(BaseClass == Job_Archer) {
		mes "What the heck...? Hahahaha~are you a 'Kill Stealing' Archer...?";
		emotion e_heh;
		close;
	}
	if(BaseClass == Job_Acolyte) {
		mes "What the heck...? Ohhhhhh~GOD... PORING's worshipper, Acolyte...";
		mes "So why aren't you in church praying, instead of wandering about here, huh?";
		close;
	}
	if(BaseClass == Job_Merchant) {
		mes "What the heck...? Eeeeeek~Merchant Scammer here...!!!! I am gonna report you to the GM!!!";
		emotion e_gasp;
		close;
	}
	if(BaseClass != Job_Novice) {
		mes "You already have a job.  Stop bothering me and go help out some newbies or something.";
		emotion e_no1;
		close;
	}

	if(job_thief_q==2) goto L_1;
	if(job_thief_q==1) goto L_Back;

	if(Sex) {
		mes "Heh... You look like a well to do boy... what brought you down to this rat hole?";
	}else{
		mes "Heh... You look like a well to do girl... what brought you down to this rat hole?";
	}
	next;
M_Menu:
	menu "'I didn't come here for the atmosphere.....",M_0,"Me? I'm just looking around...",M_End,"Just looking for the one truth",M_Truth;

		M_0:
		mes "[Thief Guide]";
		mes "Hmph... you sound a little cocky....  Yah know, being a Thief isn't all it's cracked up to be....";
		mes "That reminds me.... I must have been at lvl 9 or 10 when I did my first robbery....";
		next;
		mes "[Thief Guide]";
		mes "Hahahaha... I can still remember the look on that guy's face...";
		emotion e_heh;
		next;
		mes "[Thief Guide]";
		mes "But anyways... I assume you're here to become a thief...";
		next;
		menu "You got it.",sM_0a, "Nope.  Just wasting your time. ^ ^",sM_0b, "Why did you steal from that man?",sM_0c;

		sM_0a:
			goto L_Test;
		sM_0b:
			mes "[Thief Guide]";
			mes "Wow... thanks... now get the HELL OUTA HERE!!";
			emotion e_an;
			close;
		sM_0c:
			mes "[Thief Guide]";
			mes "Eh? Me?... Well... I really had no other choice at the time.... It was either I stole or I starved.";
			mes "I really couldn't go hungry another day.";
			close;

	M_Truth:
		mes "[Thief Guide]";
		mes "To see one's light, you need to be under the magic of the book where the royalty looms.";
		close;

	M_End:
		mes "[Thief Guide]";
		mes "Must you people keep wasting my time!!?";
		emotion e_pif;
		close;

	L_Test:
		mes "[Thief Guide]";
		mes "Okay then; first, fill out this application form.";
		next;
		mes "^0000FF(You fill out the form and hand it back)^000000";
		next;
		if(JobLevel < 10) goto sL_JobLvl;

		mes "[Thief Guide]";
		mes "Alrighty ^FF0000"+ strcharinfo(0) + "^000000, if that IS your real name..... looks like you've got quite a 'record' here.";
		mes "Let's see.... aggravated assualt... felony larson..... hmm....";
		next;
		mes "[Thief Guide]";
		mes "Ah, here we go...... you've got the job and skill requirements to become a Thief.  Now all you've got to do is pass the ^FF0000Morroc Thief Test^000000.";
		next;

		L_Explain:
		mes "[Thief Guide]";
		mes "   The test will require you to ^FF0000'sneak'^000000 into ^FF0000'Shibu's Farm'^000000, and ^FF0000'borrow'^000000 some ^AAAA00'Mushrooms'^000000.";
		mes "   There are ^ff00002^000000 kinds of ^AAAA00Mushrooms^000000 on the farm, ^FFBB00Orange Net Mushrooms^000000 and ^FFBB00Orange Gooey Mushrooms^000000.";
		next;
		mes "[Thief Guide]";
		mes "'Shibu just happens to be the worst merchant scammer in Morroc, in case you're wondering why he's our target.";
		next;
		mes "[Thief Guide]";
		mes "   Bring the Mushrooms back here and someone will give you a score based on the type and the amount of mushrooms you get.";
		mes "   1 Orange Net Mushroom = ^0000FF3 points^000000 while 1 Orange Gooey Mushroom = ^0000FF1 point^000000.  You need ^FF000025^000000 points to pass the test.";
		next;
		mes "[Thief Guide]";
		mes "   In order to get into Shibu's Farm you'll need to talk to one of our 'associates'.  You can find him just ouside of this pyramid standing near some columns.";
		mes "   He goes by the name ^DDCC00'Irrelevant Man'^000000.";
		next;
		mes "[Thief Guide]";
		mes "   Here are his exact coordinates just in case you are 'directionaly challenged': '^FF0000141, 125^000000'.";
		mes  "  Find him and he'll show you a secrect way into the Farm.";
		next;
		mes "[Thief Guide]";
		mes "   This sounds easy but ^009900do know, there are Monsters who guard Mushrooms^000000?";
		mes "   Stop reading Fairy Tales and ^FF0000brace up your nerves; this will be the toughest experience ever^000000.";
		next;
		mes "[Thief Guide]";
		mes "   So, I will give you one tip. ^FF0000Elaborate the Strategy^000000 before you going inside the Farm.";
		next;
		mes "[Thief Guide]";
		mes "   Try to steal the mushrooms as quickly as you can.  You may even have to ^0000FFunequip some weapons or armor to attack faster^000000.";
		mes "   Try not to get killed while doing this... at the very least try to give me the mushrooms first.... then you can go get yourself killed... HA!";
		next;
		mes "[Thief Guide]";
		mes "   If you don't have any questions... then GET moving!";
		emotion e_go;
		set job_thief_q,1;
		close;

		sL_JobLvl:
			mes "[Thief Guide]";
			mes "Err... I can see how ambitious you are, but we can't hand a gun to a baby only for that. Come back when you learn all Basic Skills.";
			close;

	L_Back:
		if(countitem(1069)>0 || countitem(1070)>0) goto sL_1;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,

			mes "..... What are you doing here? You're supposed to be gathering mushrooms remember??";
			mes "Don't tell me you forget what to do??? Jeeze... do you want me to explain it to you one more time?......";
			emotion e_hmm;
			next;
			menu "Heh.. yeah I guess..",sM_1a, "Nope.",sM_1b;

			sM_1a:
				mes "[Thief Guide]";
				mes "(~sigh~) There's always someone who gets left behind.... This is the last time so listen CAREFULLY!!....";
				emotion e_pif;
				next;
				goto L_Explain;
			sM_1b:
				mes "[Thief Guide]";
				mes ".... Then what is it??? Do you have something to tell me? YOUR the one who came TO ME...";
				mes "What... you wanna a piece of me?? HUH!!??";
				emotion e_ag;
				close;

		sL_1:
			mes "What? You actually went and stole some mushrooms?? Are you some kinda idiot?";
			mes "Haha... I can't believe you listened to me..... ";
			emotion e_what;
			next;
			mes "[Thief Guide]";
			mes ".... Psych!! Just kidding... heheheh! Speak with the guy next to me about rating the mushrooms you swiped.";
			emotion e_heh;
			close;

	L_1:
		mes "So how was the Mushroom Farm?  Did yah have much fun?";
		next;
		menu "Yeah, kinda Cool.",M_Cool,"It was horrible.",M_Not;

		M_Cool:
			mes "[Thief Guide]";
			mes "   Wow! I like you! Fabulous! Everyone before you was #&$@ bloody As#$%^&s#!";
			next;
			mes "[Thief Guide]";
			mes "...... You won't take my place, will you?  If you have any ambition like that, I'll ^ff0000DESTROY YOU^000000!";
			// mes "...... You won't take my place, will you?  If you have any ambition like that, I will kick your ^ff0000'ASS OUT OF YOUR BUTT'^000000!";
			// this is just too much lol.
			// That line before was just too precious to delete.  [KillerBox]
			emotion e_gasp;
			next;
			mes "[Thief Guide]";
			mes "   Still, in order to pass the test you need to go get some mushrooms.";
			close;
		M_Not:
			mes "[Thief Guide]";
			mes "   I know what yah mean.  I was there before and it was awful:  all those smelly mushrooms and aggressive monsters.";
			next;
			mes "[Thief Guide]";
			mes "   Eeewww! Yuuuckk! Still, in order to pass the test you need to go get some mushrooms.";
			emotion e_wah;
			close;
}


// -- Test Grader --
moc_prydb1.gat,42,133,2	script	Comrade Brad	118,{
	callfunc "F_ToHigh",Job_Thief_High,"Thief High",Job_Assassin_Cross,"Brad";
	if(BaseJob == Job_Novice) goto L_Novice;
	if(BaseJob == Job_Thief) goto L_Thief;

L_Other:
	mes "[Brad]";
	mes "Hey~ Hey~!! You don't look like a Thief.  What the heck? You'd BETTER NOT be trying to start someting on THIEF TERRITORY!!";
	emotion e_omg;
	close;
L_Thief:
	mes "[Brad]";
	mes "We don't have any Special events for Thieves yet.  Come back some other time, alright?";
	close;

L_Novice:
	mes "[Comrade Brad]";
	if((job_thief_q == 2) && ((countitem(1069) > 0) || (countitem(1070) > 0))) goto L_4;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,
	if(job_thief_q >= 1) goto L_3;

	mes "Errr? What's matter newbie? If you want to be a thief, speak to the girl beside me.";
	close;
L_3:
	mes "Go get some mushrooms so that I can grade them ok.";
	close;
L_4:
	mes "Good.  You got some mushrooms from that crooked merchant Shibu";
	next;

	set @mushrm1,countitem(1069)*3;//Items: Orange_Net_Mushroom,
	set @mushrm2,countitem(1070);//Items: Orange_Gooey_Mushroom_,
	set @TotMush,@mushrm1 + @mushrm2;
	set @money_thief,((countitem(1069) * 5) + (countitem(1070)* 2)) + 200;//Items: Orange_Net_Mushroom, Orange_Gooey_Mushroom_,

	mes "[Comrade Brad]";
	mes "Let's see you got:";
	mes "^0000ff"+countitem(1069)+"^000000 Orange Net Mushrooms for ^ffbb00"+@mushrm1+"^000000 points,";//Items: Orange_Net_Mushroom,
	mes "^0000ff"+countitem(1070)+"^000000 Orange Gooey Mushrooms for ^ffbb00"+@mushrm2+"^000000 points,";//Items: Orange_Gooey_Mushroom_,
	mes "Giving you a total score of ^ff0000"+@TotMush+"^000000.";
	next;
	if (@TotMush > 25) goto L_High;
	if (@TotMush == 25) goto L_Medium;

		mes "[Comrade Brad]";
		mes "Meh!.... looks like you failed.  C'mon!  You can do better than that!  Go get some more mushrooms!!!";
		close;

	L_Medium:
		mes "[Comrade Brad]";
		mes "Good. You passed the Test.";
		next;
		goto L_Final;

	L_High:
		mes "[Comrade Brad]";
		mes "Ooooh.  Above 25, you will make an excellent thief.";
		next;
	L_Final:
		mes "[Comrade Brad]";
		mes "Congratulations ^ff0000"+strcharinfo(0)+"^000000, you passed the official Thief Test!  You can now become a Thief!!";
		emotion e_no1;
		next;
		if(SkillPoint > 0) goto sL_SkPoint;
		delitem 1069, countitem(1069);//Items: Orange_Net_Mushroom,
		delitem 1070, countitem(1070);//Items: Orange_Gooey_Mushroom_,

		callfunc "Job_Change",Job_Thief;
		callfunc "F_ClearJobVar";		// clears all job variables for the current player

		mes "[Comrade Brad]";
		mes "Here's a small reward for your hard work.  Spend it any way you want to.";
		next;
		set Zeny,Zeny+@money_thief;
		mes "[Comrade Brad]";
		mes "From now on you must act, think, and even smell like a Thief.";
		mes "You are one of us now, which means you have the trust and freindship of Thieves all over Rune Midgard";
		next;
		mes "[Comrade Brad]";
		mes "However, If you bring disgrace to our Guild, or ever betray us, we will not hesitate to have you......";
		mes "How shall I say, ^ff0000'REMOVED'^000000 from the Thief Guild.";
		emotion e_gg;
		next;
		mes "[Comrade Brad]";
		mes "Good luck and always remeber the ^0000cc'Thief Motto'^000000: ^ff0000DON'T Get Caught^000000l!";
		close;

		sL_SkPoint:
			mes "[Comrade Brad]";
			mes "But before that happens please use up all of your skill points, okay?";
			close;

}


// -- Irrelevant Man --
moc_ruins.gat,141,125,3	script	Irrelevant Man	118,{
	if(BaseJob == Job_Thief) goto L_Thief;
	if(BaseJob == Job_Novice) goto L_Novice;

L_Other:
	if(@s_flag==1) goto L_1b;
	if(@s_flag==2) goto L_1c;
	if(@s_flag==3) goto L_1d;
	if(@s_flag==4) goto L_1e;
	set @s_flag, 0;

	L_1a:
		mes "[Irrelevant Man]";
		mes "Howdy~ Howdy. What a Wonderful day today,isn't it?";
		mes "I feel like going on a 'Picnic' in the Pyramids with a couple freinds of mine today.";
		set @s_flag, @s_flag+1;
		close;
	L_1b:
		mes "[Irrelevant Man]";
		mes "'Lalalala, Home sweet Home.'";
		mes "I like this saying.  Home Sweet Home....";
		set @s_flag, @s_flag+1;
		close;
	L_1c:
		mes "[Irrelevant Man]";
		mes "...... I could fly if I fell off............ ";
		set @s_flag, @s_flag+1;
		close;
	L_1d:
		mes "[Irrelevant Man]";
		mes ".......Hmm?.....";
		next;
		mes "[Irrelevent Man]";
		mes "Hey!! DON'T LOOK AT ME like that! I'M NOT some WACKO okay!!!";
		set @s_flag, @s_flag+1;
		emotion e_an;
		close;
	L_1e:
		mes "[Irrelevant Man]";
		mes "Dude! I got nothin to say with you!  Mind your own business!  Sheesh!!";
		emotion e_pif;
		close;

L_Thief:
	mes "[Irrelevant Man]";
	mes "Yah Hoo! Look at you! You became a Kool Thief!";
	emotion e_no1;
	next;
	mes "[Irrelevant Man]";
	mes "Don't worry about Shibu's Farm.  Let the newbies handle that.  Why don't yah go out and kill some stronger monsters?";
	close;

L_Novice:
	if(job_thief_q==2) goto L_3;
	if(job_thief_q==1) goto L_2;
	mes "[Irrelevant Man]";
	mes "Hey!! Novice! Want to be Stronger and more Powerful!? Do you like hiding and sneeking around?";
	mes "If so, Join the Thief Guild! You are always welcome! Join now!";
	next;
	mes "[Irrelevant Man]";
	mes "You can get more information in the 1st floor basement of the Pyramid!";
	close;
L_2:
	mes "[Irrelevant Man]";
	mes "Pssst......Pssst......hey you!  You look like your gonna take the ^ff0000'Test'^000000.  Am I right?";
	next;
	mes "[Irrelevant Man]";
	mes "Lets see here.....(checks his list).... you're ^ff0000"+ strcharinfo(0) +"^000000 right?  Good.";
	next;
	mes "[Irrelevant Man]";
	mes "Okay! I'm gonna show you the way in but keep quite.  I can't guarantee your safety so watch your back.";
	next;

	L_Warp:
	set @TEMP,rand(5);
	set job_thief_q,2;
	if(@TEMP != 0) goto warpL03a;
		warp "job_thief1.gat",228,106;
		close;
	warpL03a:
		if(@TEMP != 1) goto warpL03b;
		warp "job_thief1.gat",38,50;
		close;
	warpL03b:
		if(@TEMP != 2) goto warpL03c;
		warp "job_thief1.gat",66,331;
		close;
	warpL03c:
		if(@TEMP != 3) goto warpL03d;
		warp "job_thief1.gat",196,331;
		close;
	warpL03d:
		warp "job_thief1.gat",309,234;
		close;

L_3:
	mes "[Irrelevant Man]";
	mes "Muhahahaha~~ WHAT???~~ You HAVEN'T PASSED the Test yet? Are you some sort of Idiot!! Kakakaka!!";
	emotion e_heh;
	next;
	mes "[Irrelevant Man]";
	mes "Just kidding..... NOT!!.  Anywho I'll let yah back in!";
	next;
	menu "Ready",M_Yes,"Not yet",M_No;

	M_Yes:
		goto L_Warp;

	M_No:
		mes "[Irrelevant Man]";
		mes "Okay, let me know when you are.";
		close;

}

//==============================================================================
// mapflag
//==============================================================================
job_thief1.gat	mapflag	nomemo
job_thief1.gat	mapflag	noteleport
job_thief1.gat	mapflag	nosave	SavePoint
job_thief1.gat	mapflag	nopenalty
job_thief1.gat	mapflag	nobranch
job_thief1.gat	mapflag	noexp
