//================= Hercules Script =======================================
//=       _   _                     _
//=      | | | |                   | |
//=      | |_| | ___ _ __ ___ _   _| | ___  ___
//=      |  _  |/ _ \ '__/ __| | | | |/ _ \/ __|
//=      | | | |  __/ | | (__| |_| | |  __/\__ \
//=      \_| |_/\___|_|  \___|\__,_|_|\___||___/
//================= License ===============================================
//= This file is part of Hercules.
//= http://herc.ws - http://github.com/HerculesWS/Hercules
//=
//= Copyright (C) 2012-2015  Hercules Dev Team
//= Copyright (C)  massdriller
//= Copyright (C)  Lupus
//= Copyright (C)  L0ne_W0lf
//= Copyright (C)  kobra_k88
//=
//= Hercules is free software: you can redistribute it and/or modify
//= it under the terms of the GNU General Public License as published by
//= the Free Software Foundation, either version 3 of the License, or
//= (at your option) any later version.
//=
//= This program is distributed in the hope that it will be useful,
//= but WITHOUT ANY WARRANTY; without even the implied warranty of
//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//= GNU General Public License for more details.
//=
//= You should have received a copy of the GNU General Public License
//= along with this program.  If not, see <http://www.gnu.org/licenses/>.
//=========================================================================
//= Archer Job Quest (Pre-Renewal)
//================= Description ===========================================
//= Job quest for Archer classes
//================= Current Version =======================================
//= 1.9
//=========================================================================

payon_in02,64,71,4	script	Archer Guildsman#archer	4_M_03,{
	if (Upper == 1) {
		if (Class == Job_Novice_High && (ADVJOB == Job_Sniper || ADVJOB == Job_Clown || ADVJOB == Job_Gypsy)) {
			mes "[Archer Guildsman]";
			mes "Hey, I know you.";
			mes "You took this test";
			mes "before, didn't you?";
			next;
			mes "[Archer Guildsman]";
			mes "Ah, you must have been";
			mes "to Valhalla and been reborn.";
			mes "Wow, that's so impressive!";
			next;
			if (getskilllv("NV_BASIC") < 9) {
				mes "[Archer Guildsman]";
				mes "Err...";
				mes "You'd better learn all the Basic Skills first before you can become an Archer.";
				next;
				mes "[Archer Guildsman]";
				mes "Alright, see you later.";
				close;
			}
			mes "[Archer Guildsman]";
			mes "Well then. I don't";
			mes "need to say anything else.";
			mes "I know you'll make a great Archer...";
			next;
			skill 143,0,0;
			jobchange Job_Archer_High;
			skill 147,1,0;
			skill 148,1,0;
			mes "[Archer Guildsman]";
			mes "Although there's no special";
			mes "reward for you this time, I hope you understand. Take care of yourself.";
			close;
		}
		else {
			mes "[Archer Guildsman]";
			mes "Oh...?";
			mes "Hey, what are";
			mes "you doing here...?";
			next;
			mes "[Archer Guildsman]";
			mes "I can tell that you're not cut out to be an Archer. It sort of feels like you're meant to do";
			mes "something else...";
			close;
		}
	}
	mes "[Archer Guildsman]";
	mes "Good day. How may I help you?";
	next;
	switch(select("I want to be an Archer.", "I need the requirements, please.", "Nothing, thanks.")) {
	case 1:
		if (BaseJob == Job_Archer) {
			mes "[Archer Guildsman]";
			mes "You've already become an Archer...";
			close;
		}
		else if (BaseJob != Job_Archer && BaseJob != Job_Novice) {
			mes "[Archer Guildsman]";
			mes "Hmm...";
			mes "You don't look much like a Novice at all...";
			next;
			mes "[Archer Guildsman]";
			mes "Anyway, whatever you are, you can't choose a job as an Archer because you have a job already.";
			close;
		}
		if (job_archer_q == 0) {
			mes "[Archer Guildsman]";
			mes "Do you want to be an Archer?";
			mes "If so, you need to fill out this application form.";
			next;
			if (select("Apply.", "Cancel") == 1) {
				job_archer_q = 1;
				setquest 1004;
				mes "[Archer Guildsman]";
				mes "Okay, sign here. Alright, um, I'll promote you once you meet the requirements.";
				next;
				mes "[Archer Guildsman]";
				mes "If you think you've met them already, we can check that now.";
				mes "Are you ready?";
				next;
				if (select("Yes, I am.", "No, not yet.") == 1) {
					mes "[Archer Guildsman]";
					mes "Alright, let me check.";
					next;
				}
				else {
					mes "[Archer Guildsman]";
					mes "I understand. Be my guest if you want to look at the requirements.";
					close;
				}
			}
			mes "[Archer Guildsman]";
			mes "Well, alright.";
			mes "See you next time.";
			close;
		}
		mes "[Archer Guildsman]";
		mes "Are you..." + strcharinfo(PC_NAME) + "?";
		next;
		if (getskilllv("NV_BASIC") < 9) {
			mes "[Archer Guildsman]";
			mes "Well, you're not at the right job level. Please check the requirements again.";
			next;
			mes "[Archer Guildsman]";
			mes "Your job level must be at least 10, and don't forget you should learn all of the Basic Skills. Once you've done that, come back.";
			close;
		}
		if (job_archer_q == 1) {
			.@archer_item1 = countitem(Tree_Of_Archer_1) * 5;
			.@archer_item2 = countitem(Tree_Of_Archer_2) * 3;
			.@archer_item3 = countitem(Tree_Of_Archer_3) * 2;
			.@archer_item4 = countitem(Wooden_Block);
			.@total_archer = .@archer_item1 + .@archer_item2 + .@archer_item3 + .@archer_item4;
			.@total_archer2 = (((.@archer_item2 + .@archer_item3) * 2) + .@archer_item4);
			mes "[Archer Guildsman]";
			mes "Excellent!";
			mes "Now then,";
			mes "let's see...";
			next;
			mes "[Archer Guildsman]";
			mes "I will appraise the value of the various types of Trunks, needed to produce a Bow, that you've brought.";
			next;
			if (countitem(Tree_Of_Archer_1) == 0 && countitem(Tree_Of_Archer_2) == 0 && countitem(Tree_Of_Archer_3) == 0 && countitem(Wooden_Block) == 0) {
				mes "[Archer Guildsman]";
				mes "Um...";
				mes "Unfortunately you didn't bring any of the required items. There's nothing for me to appraise.";
				close;
			}
			mes "[Archer Guildsman]";
			if (countitem(Tree_Of_Archer_1) != 0) mes " Grade S : " + countitem(Tree_Of_Archer_1) + " ea, Grade: " + .@archer_item1 + " . ";
			if (countitem(Tree_Of_Archer_2) != 0) mes " Grade A : " + countitem(Tree_Of_Archer_2) + " ea, Grade : " + .@archer_item2 + " . ";
			if (countitem(Tree_Of_Archer_3) != 0) mes " Grade B : " + countitem(Tree_Of_Archer_3) + " ea, Grade : " + .@archer_item3 + " . ";
			if (countitem(Wooden_Block) != 0) mes " Grade C : " + countitem(Wooden_Block) + " ea, Grade : " + .@archer_item4 + " . ";
			if (.@total_archer < 25) {
				mes "Total Grades: ^FF0000" + .@total_archer + "^000000 / 40";
				next;
				mes "[Archer Guildsman]";
				mes "Less than 25!? You have to get a grade of at least 25! Come on, try harder!";
				close;
			}
			else {
				mes "Total Grades: ^0000FF" + .@total_archer + "^000000 / 40";
				next;
				mes "[Archer Guildsman]";
				if (.@total_archer > 40) {
					mes "Wow! More than 40!";
					mes "Excellent! Congratulations!";
				}
				else if (.@total_archer > 30) {
					mes "More than 30! Nice job!";
					mes "Congratulations!";
				}
				else {
					mes "*Sigh* Well, you just barely passed... Anyway, well done.";
				}
			}
			next;
			mes "[Archer Guildsman]";
			mes "I'll transfer these Trunks to our Bow Production Department. Now that you've met the requirements, let me promote you right away!";
			if (countitem(Tree_Of_Archer_1) != 0) delitem Tree_Of_Archer_1,countitem(Tree_Of_Archer_1);
			if (countitem(Tree_Of_Archer_2) != 0) delitem Tree_Of_Archer_2,countitem(Tree_Of_Archer_2);
			if (countitem(Tree_Of_Archer_3) != 0) delitem Tree_Of_Archer_3,countitem(Tree_Of_Archer_3);
			if (countitem(Wooden_Block) != 0) delitem Wooden_Block,countitem(Wooden_Block);
		}
		next;
		callfunc "Job_Change",Job_Archer;
		callfunc "F_ClearJobVar";
		completequest 1004;
		mes "[Archer Guildsman]";
		mes "Congratulations!";
		mes "You are now an Archer!";
		next;
		mes "[Archer Guildsman]";
		mes "Of course, we expect that you will help contribute towards the future of the Archer Guild with your efforts.";
		next;
		mes "[Archer Guildsman]";
		mes "Ah, your bow has arrived from the Bow Production Department. Here, take it! It's yours~";
		getitem Bow_,1;
		getitem Arrow,.@total_archer2;
		next;
		mes "[Archer Guildsman]";
		mes "Now, off you go. Hunt with pride, knowing you were trained by one of the best!";
		close;
	case 2:
		mes "[Archer Guildsman]";
		mes "I will explain the requirements for being an Archer.";
		if (BaseJob != Job_Novice) {
			if (BaseJob == Job_Archer) {
				next;
				mes "[Archer Guildsman]";
				mes "But...";
				mes "You're already an Archer. You should know these already...";
			}
			else {
				next;
				mes "[Archer Guildsman]";
				mes "Wait a second. You've chosen a different job already. You don't need to know this~";
			}
			mes "So...Yeah...no real reason to tell you the requirements...";
		}
		next;
		mes "[Archer Guildsman]";
		mes "First of all, you have to the Job Level 9 as a Novice, and know all of the Basic Skills.";
		next;
		mes "[Archer Guildsman]";
		mes "An Archer needs extremely high concentration and reflexes, so we do not accept those who have little patience.";
		next;
		mes "[Archer Guildsman]";
		mes "You also have to gather ^FF0000Trunks^000000. There are 4 different types of Trunks, each of differing quality. You'll be given different grades for your Trunks, depending on their quality.";
		next;
		mes "[Archer Guildsman]";
		mes "In order to become an Archer, you must receive a grade of at least ^0000FF25^000000 points out of 40. You can get Trunks from 'Willow,' the tree. Be careful, though. They can be tough monsters.";
		close;
	case 3:
		close;
	}
}
