//===== rAthena Script ======================================= 
//= Hair Dyer
//===== By: ================================================== 
//= kobra_k88; L0ne_W0lf
//===== Current Version: ===================================== 
//= 1.5
//===== Compatible With: ===================================== 
//= rAthena Project
//===== Description: ========================================= 
//= Hair Dyer with standard palletes
//===== Additional Comments: ================================= 
//= Fully working
//= 1.1 Bugfix: fixed missing menu label LEnd->M_End [Lupus]
//= 1.2 Rescripted to Aegis 10.3 standards. [L0ne_W0lf]
//= 1.3 Fixed problem what "freezes" the NPC. (bugreport:509) [Samuray22]
//= 1.4 Fixed getlook checking the wrong color. (bugreport:2392) [L0ne_W0lf]
//= 1.5 Added Lighthalzen Hair Dying NPC. [L0ne_W0lf]
//============================================================ 

prt_in,243,168,4	script	Jovovich	91,{
	mes "[Hairdresser Jovovich]";
	mes "Welcome~!";
	mes "How may I help you?";
	next;
	mes "[Hairdresser Jovovich]";
	if (Sex == SEX_MALE) mes "Oh, no! Your hair is damaged. It seems as if you may need professional treatment. Come sit over here, please. Come.";
	else {
		if (rand(20) > 11) {
			mes "Eh!? Oh my! Oh no no no no! Your hair is sooo damaged! It's not good if you leave your hair like this.";
			next;
			mes "[Hairdresser Jovovich]";
			mes "Would you let me treat your hair? Please?";
		}
		else mes "Wow! Your hair would be perfect once it's dyed~ How about dying your hair for a change?";
	}
	next;
	while(1) {
		switch(select("Dye Hair:Tips and Information:Cancel")) {
		case 1:
			mes "[Hairdresser Jovovich]";
			mes "Yes yes, good choice~";
			mes "Well then, this is your chance for a make-over, your chance to blossom in beauty! Choose the color you would like.";
			next;
			while(1) {
				if (.@choose_success == 1) {
					mes "[Hairdresser Jovovich]";
					mes "What do you think? Did you want a different color?";
					next;
					if (select("Yes:No") == 1) {
						mes "[Hairdresser Jovovich]";
						mes "Okay! Choose the color that you would like.";
						next;
					}
					else  {
						mes "[Hairdresser Jovovich]";
						mes "Hmm, I'm sort of disappointed. I wanted to do a better job. But I promise I'll do it better next time. Please come again~";
						close;
					}
				}

				while(1) {
					switch(select("Red, please.:Yellow, please.:Violet, please.:Orange, please.:Green, please.:Blue, please.:White, please.:Black, please.:Actually, I like my hair as it is.")) {
					case 1: set .@headpalette,8; break;
					case 2: set .@headpalette,1; break;
					case 3: set .@headpalette,2; break;
					case 4: set .@headpalette,3; break;
					case 5: set .@headpalette,4; break;
					case 6: set .@headpalette,5; break;
					case 7: set .@headpalette,6; break;
					case 8: set .@headpalette,7; break;
					case 9:
						if (.@choose_success != 0) {
							mes "[Hairdresser Jovovich]";
							mes "You must like your hair color~";
							close;
						}
						mes "[Hairdresser Jovovich]";
						mes "Eehh~? You're not going to dye your hair? I'm a little sad...";
						close;
					}

					if (.@headpalette == getlook(VAR_HEADPALETTE)) {
						mes "[Hairdresser Jovovich]";
						mes "Eh? But that's the hair color you already have. Please choose a different color.";
						next;
					}
					else {
						switch(.@headpalette) {
						case 1: callsub S_NoDye,976,"yellow"; break;
						case 2: callsub S_NoDye,978,"violet"; break;
						case 3: callsub S_NoDye,980,"orange"; break;
						case 4: callsub S_NoDye,979,"green"; break;
						case 5: callsub S_NoDye,981,"blue"; break;
						case 6: callsub S_NoDye,982,"white"; break;
						case 7: callsub S_NoDye,983,"black"; break;
						case 8: callsub S_NoDye,975,"red"; break;
						}
						if (Zeny < 1000) {
							mes "[Hairdresser Jovovich]";
							mes "The fee is 1000 zeny. Do you not have enough...?";
							close;
						}

						switch(.@headpalette) {
						case 1: delitem 976,1; break; //Lemon_Dyestuffs
						case 2: delitem 978,1; break; //Violet_Dyestuffs
						case 3: delitem 980,1; break; //Orange_Dyestuffs
						case 4: delitem 979,1; break; //Darkgreen_Dyestuffs
						case 5: delitem 981,1; break; //Cobaltblue_Dyestuffs
						case 6: delitem 982,1; break; //White_Dyestuffs
						case 7: delitem 983,1; break; //Black_Dyestuffs
						case 8: delitem 975,1; break; //Scarlet_Dyestuffs
						}
						set Zeny, Zeny-1000;
						setlook VAR_HEADPALETTE,.@headpalette;
						set .@choose_success,1;
						break;
					}

				}

			}

		case 2:
			mes "[Hairdresser Jovovich]";
			mes "When you're feeling down , when you get dumped, when you want to impress someone, or even when you just want to stand out...";
			next;
			mes "[Hairdresser Jovovich]";
			mes "For that special place and time, wouldn't you want a hairstyle of your very own? As long as you have the appropriate dyestuffs, I will make your hair look wonderful.";
			next;
			mes "[Hairdresser Jovovich]";
			mes "And try not to worry too much about the fee. Acquiring beauty is the same as acquiring everything. Hehe~";
			next;
			mes "[Hairdresser Jovovich]";
			mes "* Fees and Information *";
			mes "- 1 Dyestuffs item of the color of hair you want.";
			mes "- 1000 zeny fee.";
			break;

		case 3:
			mes "[Hairdresser Jovovich]";
			mes "Men or Women...";
			mes "Everyone has the right and obligation to be beautiful.";
			close;
		}

	}

S_NoDye:
	if (countitem(getarg(0)) == 0) {
		mes "[Hairdresser Jovovich]";
		mes "Eh?! But you need the item '"+getitemname(getarg(0))+"' to dye your hair "+getarg(1)+"...";
		close;
	}
	return;
}

// Lighthalzen
lhz_in02,100,134,3	script	Hair Dyer#lich	850,{
	mes "[Rossa]";
	if (Sex == SEX_MALE) {
		mes "Welcome, come in~";
		mes "Oh, I see that you take";
		mes "much better care of your";
		mes "hair than those other boys.";
		mes "Now would you like to dye";
		mes "your hair another color?";
	}
	else {
		mes "Oh, wow~ Where did";
		mes "you get your hair styled?";
		mes "I love it! But... It would";
		mes "be even more beautiful if";
		mes "you dyed your hair. What";
		mes "do you think about that?";
	}
	while (.@choose_success != 2) {
		next;
		switch(select("Dye Hair:Coloring Information:Cancel")) {
		case 1:
			mes "[Rossa]";
			mes "Ho ho ho ho~";
			mes "So which color would";
			mes "you like to try? Something";
			mes "vivid or dark? Sexy or cute?";
			next;
			while (.@choose_success != 2) {
				if (.@choose_success == 1) {
					mes "[Rossa]";
					mes "Ooh, I like this color!";
					mes "But would you like to";
					mes "try a different one?";
					next;
					switch(select("Yes:No")) {
					case 1:
						mes "[Rossa]";
						mes "Please select";
						mes "another color~";
						next;
						break;
					case 2:
						mes "[Rossa]";
						mes "An excellent choice~";
						mes "Alright then, thank you";
						mes "for using my service and";
						mes "I hope you come by again!";
						close2;
						set .@choose_success,2;
						break;
					}
				}
				while (.@choose_success != 2) {
					switch(select("Red, please.:Yellow, please.:Purple, please.:Orange, please.:Green, please.:Blue, please.:White, please.:Dark Brown, please.:I like my hair color.")) {
					case 1:
						set .@headpalette,8;
						break;
					case 2:
						set .@headpalette,1;
						break;
					case 3:
						set .@headpalette,2;
						break;
					case 4:
						set .@headpalette,3;
						break;
					case 5:
						set .@headpalette,4;
						break;
					case 6:
						set .@headpalette,5;
						break;
					case 7:
						set .@headpalette,6;
						break;
					case 8:
						set .@headpalette,7;
						break;
					case 9:
						if (.@choose_success != 0) {
							mes "[Rossa]";
							mes "Are you sure?";
							mes "Alright then, you";
							mes "know what's best for";
							mes "your beauty and to tell";
							mes "the truth, I agree with you~";
							close2;
							set .@choose_success,2;
						}
						else {
							mes "[Rossa]";
							mes "Oh, I see. Still, I can't";
							mes "help but feel so disappointed.";
							mes "You'd look so good if you dyed";
							mes "your hair a different color~";
							close2;
							set .@choose_success,2;
						}
						break;
					}
					if (getlook(VAR_HEADPALETTE) == .@headpalette) {
						mes "[Rossa]";
						mes "Hmm, your hair color";
						mes "is still fine, so there's";
						mes "no need to dye it the same";
						mes "color again, if that's what";
						mes "you're worried about.";
						next;
					}
					else {
						if ((.@headpalette == 8) && (countitem(975) == 0)) {
							mes "[Rossa]";
							mes "Oh, I'm sorry dear,";
							mes "but I can't dye your";
							mes "hair if you didn't bring";
							mes "Scarlet Dyestuffs with you...";
							close2;
							set .@choose_success,2;
							break;
						}
						else if ((.@headpalette == 1) && (countitem(976) == 0)) {
							mes "[Rossa]";
							mes "Oh, I'm sorry dear,";
							mes "but I can't dye your";
							mes "hair if you didn't bring";
							mes "Lemon Dyestuffs with you...";
							close2;
							set .@choose_success,2;
							break;
						}
						else if ((.@headpalette == 2) && (countitem(981) == 0)) {
							mes "[Rossa]";
							mes "Oh, I'm sorry dear,";
							mes "but I can't dye your";
							mes "hair if you didn't bring";
							mes "Violet Dyestuffs with you...";
							close2;
							set .@choose_success,2;
							break;
						}
						else if ((.@headpalette == 3) && (countitem(980) == 0)) {
							mes "[Rossa]";
							mes "Oh, I'm sorry dear,";
							mes "but I can't dye your";
							mes "hair if you didn't bring";
							mes "Orange Dyestuffs with you...";
							close2;
							set .@choose_success,2;
							break;
						}
						else if ((.@headpalette == 4) && (countitem(979) == 0)) {
							mes "[Rossa]";
							mes "Oh, I'm sorry dear,";
							mes "but I can't dye your";
							mes "hair if you didn't bring";
							mes "Darkgreen Dyestuffs";
							mes "with you. Would you come";
							mes "back after you get some?";
							close2;
							set .@choose_success,2;
							break;
						}
						else if ((.@headpalette == 5) && (countitem(978) == 0)) {
							mes "[Rossa]";
							mes "Oh, I'm sorry dear,";
							mes "but I can't dye your";
							mes "hair if you didn't bring";
							mes "Cobaltblue Dyestuffs";
							mes "with you. Would you come";
							mes "back after you get some?";
							close2;
							set .@choose_success,2;
							break;
						}
						else if ((.@headpalette == 6) && (countitem(982) == 0)) {
							mes "[Rossa]";
							mes "Oh, I'm sorry dear,";
							mes "but I can't dye your";
							mes "hair if you didn't bring";
							mes "White Dyestuffs with you...";
							close2;
							set .@choose_success,2;
							break;
						}
						else if ((.@headpalette == 7) && (countitem(983) == 0)) {
							mes "[Rossa]";
							mes "Oh, I'm sorry dear,";
							mes "but I can't dye your";
							mes "hair if you didn't bring";
							mes "Black Dyestuffs with you...";
							close2;
							set .@choose_success,2;
							break;
						}
						if (Zeny < 1000) {
							mes "[Rossa]";
							mes "Oh, I'm so sorry dear,";
							mes "but my service fee is";
							mes "1,000 zeny. Did you forget";
							mes "to bring your money with you?";
							close2;
							set .@choose_success,2;
							break;
						}
						if (.@headpalette == 8) delitem 975,1; //Scarlet_Dyestuffs
						else if (.@headpalette == 1) delitem 976,1; //Lemon_Dyestuffs
						else if (.@headpalette == 2) delitem 981,1; //Violet_Dyestuffs
						else if (.@headpalette == 3) delitem 980,1; //Orange_Dyestuffs
						else if (.@headpalette == 4) delitem 979,1; //Darkgreen_Dyestuffs
						else if (.@headpalette == 5) delitem 978,1; //Cobaltblue_Dyestuffs
						else if (.@headpalette == 6) delitem 982,1; //White_Dyestuffs
						else if (.@headpalette == 7) delitem 983,1; //Black_Dyestuffs
						set Zeny, Zeny-1000;
						setlook VAR_HEADPALETTE,.@headpalette;
						set .@choose_success,1;
						break;
					}
				}
			}
			break;
		case 2:
			mes "[Rossa]";
			mes "When you're feeling";
			mes "down, when you just want";
			mes "to look nice for the one you";
			mes "love, or when you just want";
			mes "a different look, why don't";
			mes "you dye your hair?";
			next;
			mes "[Rossa]";
			mes "All you need is one";
			mes "Dyestuffs item of the";
			mes "color that you want to";
			mes "dye your hair, as well as";
			mes "a 1,000 zeny service fee.";
			mes "I'm here for your beauty needs~";
			break;
		case 3:
			mes "[Rossa]";
			mes "You know, when you";
			mes "put some effort into";
			mes "your appearance, you'll";
			mes "not only look better, but";
			mes "you'll feel better about";
			mes "yourself. Makes sense, right?";
			close;
		}
	}
	close;
}
