//===== eAthena Script ======================================= 
//= Global Job Function
//===== By: ================================================== 
//= massdriller
//===== Current Version: ===================================== 
//= 0.2
//===== Compatible With: ===================================== 
//= eAthena 1.0 +
//===== Description: ========================================= 
//= Optimised scripts by moving all their checkers here.
//===== Additional Comments: ================================= 
//= For 2-1 Jobs
//= 0.2 Removed callfunc Is_####_Class in favor of baseClass [Silentdragon]
//============================================================ 

//Assasin Check
function	script	Ass_check	{

	if(BaseJob==Job_Assassin) goto L_JobSin;
	mes "[Angry looking man]";
	if(baseClass == Job_Swordman) goto L_JobSwo;
	if(baseClass == Job_Mage) goto L_JobMag;
	if(baseClass == Job_Archer) goto L_JobArch;
	if(baseClass == Job_Acolyte) goto L_JobAco;
	if(baseClass == Job_Merchant) goto L_JobMerc;
	if(baseClass == Job_Thief) goto L_JobOther;

L_JobNov:
	mes "....HEY Novice!!! GET out of here now!! I won't be held responsible if anything bad happens to you.......";
	emotion e_gasp;
	close;
L_JobSwo:
	mes "....What are you doing here???";
	emotion e_what;
	next;
	mes "[Angry looking man]";
	mes "Doing what you're ordered to do eh?........ You guys are nothing more than dogs that listen to their owners.............";
	emotion e_pif;
	close;
L_JobMag:
	mes "...What's a mage like you doing here? You should be paying more attention to your training.....";
	emotion e_hmm;
	close;
L_JobArch:
	mes "Uh.... you're one of those people with bows right? Sorry but there are no cute pets here for u to kill..........";
	emotion e_swt;
	next;
	mes "[Angry looking man]";
	mes "Wait...... You're not here to create trouble eh!!? ....LEAVE AT ONCE!!";
	emotion e_gasp;
	close;
L_JobAco:
	mes "...Oh God's little helper..... What are you doing down in a dreadful place like this?";
	mes "Trust me, you're not going to find any salvation here........ why don't you just run along ok?........";
	emotion e_hmm;
	close;
L_JobMerc:
	mes ".... What the??? Do you have any idea where you are??...... GREEDY SCAMMERS like you are not welcome here!!";
	emotion e_gg;
	close;
L_JobOther:
	mes ".... Hmm.... although you're not an Assassin or Thief... I have to say I like your sense of style.";
	close;
L_JobSin:
	mes "[Assassin Huey]";
	mes "Oohh, its you.  You're...." + strcharinfo(0) + " right?";
	next;
	mes "[Assassin Huey]";
	mes "Too bad there's nothing to do right now.  You should go train more.  Bye.";
	close;

}

//Blacksmith Check
function	script	Bla_check	{

	if (BaseJob == 0) goto L_Nov;
	if (baseClass == Job_Swordman) goto L_Sword;
	if (baseClass == Job_Acolyte) goto L_Aco;
	if (baseClass == Job_Thief) goto L_Thief;
	if (baseClass == Job_Mage) goto L_Wiz;
	if (baseClass == Job_Archer) goto L_Arc;
	if (BaseJob == 10) goto L_Black;
	mes "Only Merchants can become Blacksmiths.";
	close;

L_Nov:
	if(sex==0) mes "...Hello little lady! If you wish to be a blacksmith, you have to be a merchant first!";
	if(sex==1) mes "Hmmm, you look like you wish to be a blacksmith! Sorry, but only merchants can be blacksmiths!.";
	close;
L_Sword:	
	mes "Hello! Come here to order a sword? Sorry, but I have some paperwork to do, so I can't forge anything now.";
	close;
L_Arc:
	mes "Hmmm, sorry, but we're not hiring anyone that isn't a merchent.";
	close;	
L_Wiz:
	mes "Interested in training? Our guild cannot assist magic users is such matters.";
	close;
L_Aco:
	mes "Oh! A Holy one...! Do me a favor and bless the sword I'm crafting!";
	close;
L_Thief:	
	mes "Sorry, but this is more of a office, so there's nothing worth money.  We CAN do knife forges though.";
	close;
L_Black:
	mes "Hey! Been a while, running a errand for Christopher? I feel like my hammer is getting rusty after all this office work.";
	close;

}

//Hunter Check
function	script	Hun_check	{

	if(BaseJob==Job_Hunter) goto L_Hunt;
	if(baseClass == Job_Archer) goto L_Other;
	if(baseClass == Job_Swordman) goto L_Swo;
	if(baseClass == Job_Mage) goto L_Mage;
	if(baseClass == Job_Thief) goto L_Thf;
	if(baseClass == Job_Acolyte) goto L_Aco;
	if(baseClass == Job_Merchant) goto L_Merc;

L_Nov:
	mes "[Hunter Sharon]";
	mes "What's a novice like you doing here? Leave, we have nothing for you.";
	emotion e_what;
	close;
L_Swo:
	mes "[Hunter Sharon]";
	mes "A follower of the way of the blade! We have nothing for you here so please leave.";
	close;
L_Mage:
	mes "[Hunter Sharon]";
	mes "Hello mage type person.  If you have no business here, please leave,";
	close;
L_Aco:
	mes "[Hunter Sharon]";
	mes "Good day, religious zealot! It's nice to meet you and all, but you have no buisiness here.";
	close;
L_Merc:
	mes "[Hunter Sharon]";
	mes "Hey, how's buisiness? Perhaps if you want to sell something, go back to town.";
	close;
L_Thf:
	mes "[Hunter Sharon]";
	mes "Eeep! There's nothing to steal here!! Leave us alone..... go rob an old lady or something......";
	emotion e_omg;
	close;
L_Hunt:
	mes "[Hunter Sharon]";
	mes "What up! "+strcharinfo(0)+" Why did you come back? Falcon run away or something? Te hehe.";
	emotion e_heh;
	next;
	mes "[Hunter Sharon]";
	mes "I hope you didn't think you could get free stuff from us just because your part of our guild now......";
	close;
L_Other:
	mes "[Hunter Sharon]";
	mes "What are YOU doing here? Did you come to do a little song and dance... ke.. keke....kekekeHahahahhaha!!!";
	emotion e_heh;
	close;

}

//Knight Check

function	script	Kni_check	{

		if(BaseJob != Job_Swordman) goto L_NotSwo;
		mes "Well then, first fill out this application form....";
		next;
		mes "...(you fill out the form and hand it back)...";
		next;
		mes "[Chivalry Captain Herman]";
		if(JobLevel < 40) goto L_NotLvl;
		mes "Impressive.  You have the job qualifications to become a knight..., however you will need much more than that to actually become one.";
		next;
		return;

		L_NotLvl:
			mes "Hmm...it looks like you have not reached Job Level 40 yet.  Please come back when you do.  I shall be waiting here.";
			close;
		L_NotSwo:
			if(BaseJob == Job_Knight) goto sL_JobKni;
			if(BaseJob == Job_Novice) goto sL_JobNov;

			sL_JobOther:
				mes "I'm sorry but only Swordsmen can become Knights.";
				close;

			sL_JobKni:
				mes "...(sighs)...what are you doing here WASTING my time??  GO FORTH!!, and continue protecting Rune Midgard my young Knight.";
				emotion e_pif;
				close;

			sL_JobNov:
				mes "Hahahaha!!  You have no job experience what so ever and yet you stumble in here asking to be a knight.  Hahahaha!!";
				emotion e_heh;
				next;
				mes "[Chivalry Captain Herman]";
				mes "You must first become a Swordsman before even thinking about becoming a Knight.  Now scurry along little novice.  Hahahahaha!!!";
				close;


}

//Priest Check

function	script	Pri_check	{

	if (BaseJob == Job_Novice) goto L_Novice;
	if (BaseJob == Job_Priest) goto L_Priest;
	mes "May God bless you my child.";
	next;
	mes "[Father Thomas]";
	mes "Please feel free to rest, the church is the safest place in this world.";
	next;
	mes "[Father Thomas]";
	mes "I hope God will bless you.";
	return;

L_Novice:
	mes "May God bless you, child.  This is the Prontera Church.  What are you here for?";
	next;
	menu "I want to become an Acolyte.",M_0a, "I want to become a ^5533FFPriest^000000.",M_0b, "I'm just walking around.",M_0End;

	M_0a:
		mes "[Father Thomas]";
		mes "Haha.. so you want to become an Acolyte eh? To apply to become an Acolyte, please go to the room opposite of here.";
		close;
	M_0b:
		mes "[Father Thomas]";
		mes "Haha...in order to become a priest you must first become an Acolyte.  To become an Acolyte, go to the room opposite of here.";
		close;
	M_0End:
		mes "[Father Thomas]";
		mes "Please feel free to rest here.  The church is a sanctuary for all those, who seek to escape the outside world.";
		next;
		mes "[Father Thomas]";
		mes "May God be with you in your thoughts and prayers.";
		close;

L_Priest:
	mes "God bless you, child.  You are here again because you listened to God's orders.";
	next;
	mes "[Father Thomas]";
	mes "I don't know if God's sons and daughters are going on the path of light or the path of darkness... I can only pray for the best.";
	next;
	mes "[Father Thomas]";
	mes "So why are you here today?";
	next;
	menu "I just wanted to see how you were.",M_1a, "I'm here to help the Acolytes.",M_1b, "Life is really hard... I was wondering if you could help.",M_1End;

	M_1a:
		mes "[Father Thomas]";
		mes "Oh, well I'm fine thank you.  Please send my regards to all of the other Priests, and Priestess.";
		next;
		mes "[Father Thomas]";
		mes "We, the ones who follow the devine path, are here for one reason.... to obey Gods orders.";
		mes "If you come across anyone who needs help, please remember to assist them in any way you can...";
		close;
		
	M_1b:
		mes "[Father Thomas]";
		mes "Oh...thats a great idea! Since you're a priest, you can't forget that you have to help the Acolytes when they need it.";
		emotion e_ic;
		next;
		mes "[Father Thomas]";
		mes "Even so, you must be carefull not to do everyting for them.  It is important that they gain their own experiences through training ";
		next;
		mes "[Father Thomas]";
		mes "In order to go in and help you'll need a ^5533FFROSARY^000000.";
		mes "There will be 3 trials for the Acolyte to face, but in only 2 of them will your assistance be needed.";
		next;
		mes "[Father Thomas]";
		mes "Are you prepared to help?";
		next;
		menu "Yes, i will help them with all my might.",sM_1a, "I will come back later.",sM_1End;

		sM_1a:
			if (countitem(2608) < 1) goto sL_NoRosary;
			mes "[Father Thomas]";
			mes "Very well then.  I will send you to an Acolyte in just a moment.";
			next;
			mes "[Father Thomas]";
			mes "I hope you will also take this opportunity to teach them what it means to be a good Priest.";
			next;
			if((getareausers("job_prist.gat", 8, 34, 39,109)) == 1) warp "job_prist.gat", 24, 44;
			if((getareausers("job_prist.gat", 160, 14, 175, 178)) == 1) warp "job_prist.gat", 98, 40;
			if((getareausers("job_prist.gat", 90, 34, 105,105)) == 1) warp "job_prist.gat", 168, 17;
			mes "[Father Thomas]";
			mes "Hmm........ wait a minute..... let me check my list.... Either no one is taking the test right now, or another Priest is already helping out.";
			mes "In any case please check with me again later.";
			close;

			sL_NoRosary:
				mes "[Father Thomas]";
				mes "Hmm... it doesn't look like you have a ^5533FFROSARY^000000 with you.";
				next;
				mes "[Father Thomas]";
				mes "If you want to help the Acolytes, you must first get a ^5533FFROSARY^000000.";
				mes "Please come back when you have one.";
				close;
		sM_1End:
			mes "[Father Thomas]";
			mes "Oh, alright.  Just remember to bring a ^5533FFFROSARY^000000 when you come back.";
			close;

	M_1End:
		mes "[Father Thomas]";
		mes "Keep up the good work.  I will ask God to ease your pain.";
		next;
		mes "[Father Thomas]";
		mes "God, one of your children is suffering.  Please use your powers, to heal the wounds on this battered body.....";
		next;
		mes "[Father Thomas]";
		mes "Please look after us, so that under any condition we will be able to think clearly and maintain our faith";
		percentheal 100,100;
		next;
		mes "[Father Thomas]";
		mes "You should be feeling better now.  Please stay on the path to rightousness and may God bless you.";
		close;

}

//Wizard Checker 1

function	script	Wiz1_check	{

	if(baseClass == Job_Mage) goto L_Magic;
	if(baseClass == Job_Acolyte) goto L_Holy;
L_Other:
	mes "[Dog]";
	mes "Sheesh....... Why would someone who can't even cast a single spell come all the way up here???";
	next;
	mes "[Dog]";
	mes "If you're that bored, do the world a favor and climb to the top of this building from the outside, then do some acrobatics....";
	emotion e_pif;
	next;
	mes "[Dog]";
	mes "~WOOF~ Get lost! I don't have time for people like you!!";
	emotion e_go;
	close;
L_Holy:
	mes "[Dog]";
	mes "Eeek! What's a holy type person doing up here?  I thought you people didn't like magic....";
	mes "You religious types are always calling it the 'dark arts'......... ooooh scary!!!...... ~grrr!~WOOF!~";
	close;
L_Magic:
	mes "[Dog]";
	mes "Ah! High level magic users, welcome.  It's always nice to see experienced magic users around here.";
	mes "Actually it's nice to see them anywhere! ~Woof!~";
	close;

}

function	script	Wiz2_check	{

	if(BaseJob == Job_Wizard) goto L_Wizard;
	if(BaseJob == Job_Novice) goto L_Novice;

L_Other:
	mes "Hmm? What brings you all the way up here? If you have nothing to do here, please leave.";
	mes "This place is for wizards only. =P";
	next;
	mes "[Catherine Medichi]";
	mes "Try not to fall as you go back down....";
	close;
L_Novice:
	mes "Awwww, a little novice!  How cute! This place is for Wizards only though.";
	emotion e_lv2;
	next;
	mes "[Catherine Medichi]";
	mes "If you're interested in magic, the ^0000FFMagician's Guild^000000 is the place for you.";
	close;
L_Wizard:
	mes "What do you need fellow Wizard? If it's nothing, please leave...";
	next;
	mes "[Catherine Medichi]";
	if(sex==1) mes "... Of course, if your here to ask me out... (*giggles*)....";
	if(sex==0) mes "If you get yourself a boyfriend, feel free to drop by and show him off. XD";
	emotion e_lv;
	close;

}
