//===== eAthena Script =======================================
//= Hair Dyer
//===== By: ==================================================
//= kobra_k88; L0ne_W0lf
//===== Current Version: =====================================
//= 1.5
//===== Compatible With: =====================================
//= eAthena SVN
//===== 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) 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,979,"orange"; break;
case 4: callsub S_NoDye,980,"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 979,1; break; //Orange_Dyestuffs
case 4: delitem 980,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 == 1) {
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;
}