//===== Hercules Script ======================================
//= Stylist
//===== By: ==================================================
//= Euphy
//===== Current Version: =====================================
//= 1.1
//===== Description: =========================================
//= Changes your hair style, hair color, and cloth color.
//===== Additional Comments: =================================
//= 1.1 Switched to 'getbattleflag', credits to Saithis. [Euphy]
//==========================================================

office,135,29,4	script	Stylist#vip	4_F_BRZ_WOMAN,{
	disable_items();
	if ( #HDYE || getgmlevel() >= 1 ) {	
		setarray .@styles[1],83,20,4;
	} else { 
		setarray .@styles[1],28,8,4;
	}
	if(questprogress(31001) == 1 && countitem(30104) > 0 ) {
		mes .npc$;
		mes "Hello ^003366"+strcharinfo(PC_NAME)+"^000000! I'm the Stylist.";
		next;
		mes .npc$;
		mes "I can change your hair style and color or even your cloth color. Come back to me if you need my service.";	
		nov_train1++;
		switch (BaseLevel){
			case 1: getexp 9,0; break;
			case 2: getexp 16,0; break;
			case 3: getexp 25,0; break;
			case 4: getexp 36,0; break;
			case 5: getexp 77,0; break;
			case 6: getexp 112,0; break;
			case 7: getexp 153,0; break;
			case 8: getexp 200,0; break;
			case 9: getexp 253,0; break;
			case 10: getexp 320,0; break;
			case 11: getexp 385,0; break;
			case 12: getexp 490,0; break;
			case 13: getexp 585,0; break;
			case 14: getexp 700,0; break;
			case 15: getexp 830,0; break;
			case 16: getexp 970,0; break;
			case 17: getexp 1120,0; break;
			case 18: getexp 1260,0; break;
			case 19: getexp 1420,0; break;
		}
		delitem 30104,countitem(30104);
		if(nov_train1 == 6){
			next;
			mes .npc$;
			mes "Go back and talk to ^ff0000Percy^000000 now, I bet she will be happy that you learned so many NPC at this room already.";
			completequest(31001);
			setquest(31002);
			cutin "",255;
			close;
		}
		close;				
	}

	mes .npc$;
	mes "11... 12... Mmm... good. I think I'll be able to finish before tonight's party. Oh! I didn't notice you were here!";
	next;
	switch(select("- Dye Clothing","- Hair Style", "- ^777777Cancel^000000")) {
	case 1:
		mes .npc$;
		mes "Oh... you need my work? Well... okay, sounds good. Let's see if I can dye for "+jobname(Class)+".";
		cutin(sprintf("%s",Class), 3);
		next;
		mes .npc$;
		mes "Please choose a pattern.";
		mes "that suits you.";
		next;
		setarray .@DyeName$[0],"Original","Pattern 1","Pattern 2","Pattern 3";
		.@menu$ = "";
		for( set .@i,0; .@i<4; set .@i,.@i + 1)
			.@menu$ += "- "+.@DyeName$[(.@i)]+":";
		.@menu$ += "- ^777777Cancel^000000";
		.@s = select(.@menu$);
		if (.@s == 5) callsub L_End;
		mes .npc$;
		if (!#CDYE) {
			mes "For me to dye your clothes, I'll need New Clothing Dye Coupon. You can purchase one from the Item Mall and make sure to double click on it.";
			close2();
			cutin("", 255);
			close;
		}
		setlook 7,.@s;
		if (.@s == 1){
			mes "Your clothes have been dyed to original color.";
		} else {
			mes "Your clothes have been dyed with Patter #"+(.@s)+".";
		}	
		close2();
		cutin("", 255);
		close;
	case 2:
		if (!#HDYE) {
			mes .npc$;
			mes "You can access more hair style and color. Just purchase Hairstyle Coupon from the Item Mall and make sure to double click on it.";
			next;
		}
		setarray .@Look[1],1,6;
		set .@s, select(" ~ Hairstyle: ~ Hair color");
		set .@Revert, getlook(.@Look[.@s]);
		set .@style,1;
		while(1) {
			setlook .@Look[.@s], .@style;
			message strcharinfo(0),"This is style #"+.@style+".";
			set .@menu$, " ~ Next (^0055FF"+((.@style!=.@styles[.@s])?.@style+1:1)+"^000000): ~ Previous (^0055FF"+((.@style!=1)?.@style-1:.@styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)";
			switch(select(.@menu$)) {
				case 1: set .@style, ((.@style!=.@styles[.@s])?.@style+1:1); break;
				case 2: set .@style, ((.@style!=1)?.@style-1:.@styles[.@s]); break;
				case 3: message strcharinfo(0),"Choose a style between 1 - "+.@styles[.@s]+".";
					input .@style,0,.@styles[.@s];
					if (!.@style) set .@style, rand(1,.@styles[.@s]);
					break;
				case 4: set .@style, .@Revert; setlook .@Look[.@s], .@Revert; break;
			}
		}
	case 3:
		close;
	}
	close;
L_End:
	mes .npc$;
	mes "Make yourself at home. Talk to me when you are ready.";
	close2();
	cutin("", 255);
	close;

OnInit:
	questinfo(QTYPE_JOB, 1);
	setquestinfo(QINFO_JOB, Job_Novice);
	setquestinfo(QINFO_QUEST, 31001,1);
	setquestinfo(QINFO_ITEM,30104,1,1);

	.npc$ = "[ ^ff0000Stylist^000000 ]";
	end;
}

