//===== eAthena Script ======================================= 
//= Gunslinger Job Quest
//===== By: ================================================== 
//= erKURITA & RockmanEXE
//= Direct credits quote from RockmanExe: 
//= "info provided by RockmanEXE cause he pwnz0rz yer arse"
//= DON'T REMOVE THIS! (by request of him, he provided all
//= the info regarding the quests and shops.)
//===== Current Version: ===================================== 
//= 1.7a
//===== Compatible With: ===================================== 
//= eAthena SVN
//===== Description: ========================================= 
//= "Semi" Official Gunslinger Quest ~ The text isn't the same
//= but it does the things it has to do :P
//===== Additional Comments: ================================= 
//= 1.0 Made the NPC [erKURITA]
//= 1.5 Couple fixes to the npc, aswell as adding the missing
//=	  3 green herbs. [erKURITA]
//= 1.6 job number->const, commonized variable name,
//= 	optimized [Lupus]
//= 1.7 Now uses only ONE variable GUNS_Q [Lupus]
//= 1.7a Grammar fixes, few spelling fixes, etc [CBMaster]
//============================================================ 

que_ng.gat,152,167,3	script	Gunslinger Jobchanger	901,{

	set @npcname$,"[Armsmith]";
	if (Class == Job_Novice) {
		if (GUNS_Q >= 1) {
			mes @npcname$;
			mes "So, you've come back?";
			next;
			if (GUNS_Q == 10005) {
				if (SkillPoint > 0) {
					mes @npcname$;
					mes "Err, excuse me, but you still have Skill Points left. You have to use them all before I can turn you into a Gunslinger.";
					close2;
					set @npcname$,"";
					end;
				} else if (JobLevel < 10) {
					mes @npcname$;
					mes "Err, excuse me, but your job level is not sufficient. You need to have a job level of 10 in order to change to a Gunslinger";
					close2;
					set @npcname$,"";
					end;
				}
				mes @npcname$;
				mes "Glad to know you did what Mr. Tanieh asked you to do, makes me know you're worthy of being..";
				next;
				mes @npcname$;
				mes "A Gunslinger!!";
				callfunc "Job_Change",Job_Gunslinger;
				callfunc "F_ClearJobVar";		//clears all job variables for the current player
				next;
				mes @npcname$;
				mes "Oh, I forgot, here's a token of my appreciation";
				getitem 13150,1;
				close2;
				set @npcname$,"";
				end;
			}
			mes @npcname$;
			mes "But you still haven't done what I told you, need me to repeat it?";
			switch (select ("Yes, Please:No, Thanks")) {
				case 1:
					next;
					mes @npcname$;
					mes "You need to go to Payon. At the small wooden wall and in the south exit, Mr. Tanieh will be there waiting to ask you a few things. Go now...";
					close2;
					set @npcname$,"";
					end;
				case 2:
					next;
					mes @npcname$;
					mes "Then GET GOING! You do want to become a Gunslinger, right?";
					close2;
					set @npcname$,"";
					end;
			}
		}
		mes @npcname$;
		mes "Hi ^0000CC"+strcharinfo(0)+"^000000,I need you to do something for me first, will you?";
		switch (select ("Yes:No")) {
			case 1:
				next;
				mes @npcname$;
				mes "Good, I need you to go to Payon and do a few things from Mr. Tanieh.";
				next;
				mes @npcname$;
				mes "He'll be waiting for you next to the small wooden wall of the south exit. See you later then.";
				close2;
				set GUNS_Q,1;
				set @npcname$,"";
				end;
			case 2:
				next;
				mes @npcname$;
				mes "Too bad for you son. Come back when you are willing to do so.";
				close2;
				set @npcname$,"";
				end;
		} 

	}
	mes @npcname$;
	mes "Hi son, how's life treating you?";
	set @npcname$,"";
	close;
}

payon.gat,184,65,3	script	Mr. Tanieh	866,{

	set @npcname$,"[Mr. Tanieh]";
	if (GUNS_Q == 1) {
		mes @npcname$;
		mes "Oh, you're ^0000CC"+strcharinfo(0)+"^000000, right? Einbroch's Armsmith told me you were going to help me with a few things.";
		next;
		mes @npcname$;
		mes "I need to make a special soup for my wife, but, as you can see, I am not in conditions to look for the items, she's sick you know?";
		next;
		mes @npcname$;
		mes "So, will you do it, please?";
		switch (select ("Yes, I will:Sorry I can't now")) {
			case 1:
				set GUNS_Q,callfunc("F_RandMes",4,1019,1066,1067,1068);
				goto L_LIST;

			case 2:
				next;
				mes @npcname$;
				mes "Oh, what am I going to do now...";
				close2;
				set @npcname$,"";
				end;
		}

	} else if (GUNS_Q > 1 && GUNS_Q < 10000) {
		mes @npcname$;
		mes "Oh, you've come back! Have you brought the items?";
		next;
		switch (select("Yes I did:No I forgot which items I had to bring")) {
			case 1:
				next;
				if (countitem(949) < 3) {
					mes @npcname$;
					mes "Sorry, you're missing a few Feathers";
					close2;
					set @npcname$,"";
					end;
				} else if (countitem(912) < 3) {
					mes @npcname$;
					mes "Sorry, you're missing a few Zargons";
					close2;
					set @npcname$,"";
					end;
				} else if (countitem(1013) < 3) {
					mes @npcname$;
					mes "Sorry, you're missing a few Rainbow Shells";
					close2;
					set @npcname$,"";
					end;
				} else if (countitem(GUNS_Q) < 1) {
					mes @npcname$;
					mes "Sorry, you don't have the exact Trunk";
					close2;
					set @npcname$,"";
					end;
				} else if (countitem(511) < 3) {
					mes @npcname$;
					mes "Sorry, you're missing a few Green Herbs";
					close2;
					set @npcname$,"";
					end;
				} else if (countitem(935) < 10) {
					mes @npcname$;
					mes "Sorry, you're missing a few Shells";
					close2;
					set @npcname$,"";
					end;
				}
				mes @npcname$;
				mes "GREAT! You brought them all! Thanks very much!";
				delitem 949,3;
				delitem 912,3;
				delitem 1013,3;
				delitem GUNS_Q,1; //here we keep Trunk ID
				delitem 935,10;
				delitem 511,3;
				next;
				mes @npcname$;
				mes "Oh my, you've been of great help. I'll recommend you to the Einbroch Armory for your job change.";
				close2;
				set GUNS_Q,10003;
				set @npcname$,"";
				end;
			case 2:
			L_LIST:
				next;
				mes @npcname$;
				mes "Ok, I'll tell you again, so please take note!:";
				mes "^33CCFF 3 Feathers^000000";
				mes "^009933 3 Zargons^000000";
				mes "^660066 3 Rainbow Shells^000000";
				mes "^009900 3 Green Herbs^000000";
				mes "^663300 1 "+getitemname(GUNS_Q)+"^000000";
				mes "^FF6600 10 Shells^000000";
				next;
				mes @npcname$;
				mes "Hurry please, I am not sure if my wife will last any longer... oh dear..";
				close2;
				set @npcname$,"";
				end;
		}
	} else if (GUNS_Q == 10003) || (GUNS_Q == 10004) {
		if (countitem(519) >= 1) && (GUNS_Q == 10004) {
			mes @npcname$;
			mes "THAT'S IT!! I was missing the Milk! Oh yes, thanks so much, will you give it to me?";
			switch(select("Sure, take it:Sorry but I need it")) {
				case 1:
					next;
					mes @npcname$;
					mes "Thanks so much! Go talk again with the Einbroch Armsmith. He'll change you. Thanks again and see you.";
					delitem 519,1;
					close2;
					set GUNS_Q,10005;
					set @npcname$,"";
					end;
				case 2:
					next;
					mes @npcname$;
					mes "Oh please, I need it so much, think about it please...";
					close2;
					set @npcname$,"";
					end;
			}
		}
		mes @npcname$;
		mes "*sigh* Now I have to wait again... Thanks for your help... but I believe there's something missing..";
		close2;
		set @npcname$,"";
		set GUNS_Q,10004;
		end;
	} else if (Class == Job_Gunslinger) || (GUNS_Q == 10005) {
		mes @npcname$;
		mes "Hi ^0000CC"+strcharinfo(0)+"^000000!, how have you been doing? My wife sends you regards and thanks for the ingredients...";
		close2;
		set @npcname$,"";
		end;
	} 
	mes @npcname$;
	mes "Hi son, how's life treating you? Nice day, isn't it?";
	close2;
	set @npcname$,"";
	end;
}