Implementing Stylist UI Script (#6506)

* Moved the old stylists npcs to pre-renewal folder
* Implemented and updated the stylists npcs which use the new UI on renewal

Co-authored-by: Lemongrass3110 <lemongrass@kstp.at>
Co-authored-by: Everade <Everade@users.noreply.github.com>
This commit is contained in:
JohnnyPlayy 2022-01-19 21:07:20 -03:00 committed by GitHub
parent 08b2dfa417
commit 9d324ba077
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 1248 additions and 1172 deletions

View File

@ -15,146 +15,9 @@
//= 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]
//= 1.6 Moving NPC Jovovich to Pre-Renewal [JohnnyPlayy]
//============================================================
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]";

View File

@ -13,516 +13,9 @@
//= 1.2 Rescripted to the Aegis 10.3 Standards. [Samuray22]
//= 1.3 Updated to match AEGIS script. [Kisuka]
//= 1.4 Added Lighthalzen Hair Dresser. [L0ne_W0lf]
//= 1.5 Moving NPC Hair Dresser to Pre-Renewal [JohnnyPlayy]
//============================================================
// Hair Dresser Veronica
// ============================================================
alberta_in,55,142,7 script Hair Dresser 91,{
mes "[Veronica]";
mes "Welcome to Veronica's hair salon.";
mes "How can I help you?";
next;
switch(select("See available hair styles.:Change hair style.:End conversation.")) {
case 1:
mes "[Veronica]";
mes "We have a total of 19 styles, available from no.1 to no.19.";
mes "Which one do you want to see?";
mes "If you wish to cancel,";
mes "please enter 0.";
next;
input .@style;
if(.@style > 19) {
mes "[Veronica]";
mes "Oops, I'm sorry, but that";
mes "style is not available.";
mes "Remember to enter a number";
mes "from 1 to 19.";
next;
} else if(.@style == 0) {
mes "[Veronica]";
mes "So, how do you like the style?";
mes "Feel free to ask me about any";
mes "available hairstyle. It will";
mes "be my pleasure to style your";
mes "hair.";
close;
}
else {
callsub L_cutin,.@style;
mes "[Veronica]";
switch(.@style) {
case 1:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Play Dead' style!";
mes "It's a nice, basic haircut.";
mes "I notice that usually the";
mes "cute, conversative types seem";
mes "to prefer this style.";
close2; cutin "",255; end;
}
mes "Oh, that's 'First Aid' style!";
mes "The shoulder length tresses";
mes "are straightened for those";
mes "no nonsense adventurers. It";
mes "seems to be the style of";
mes "choice for Novices.";
close2; cutin "",255; end;
case 2:
if(Sex == SEX_MALE) {
mes "Oh, that's the 'Two Handed Sword";
mes "Mastery' style! It's perfect for";
mes "for Swordmen who might muss their";
mes "hair while swinging their swords";
mes "all day long.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Bash' style!";
mes "For the powerful woman that's";
mes "not afraid to get a little";
mes "blood on her hands, but knows";
mes "how great her hair will look";
mes "while wildly flailing a sword.";
close2; cutin "",255; end;
case 3:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Napalm Beat' style!";
mes "It's a unique look with a hint";
mes "of eccentricity that's offset";
mes "with a helping of elegance.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Frost Diver' style!";
mes "The pigtails lend an innocent,";
mes "demure look for those Mages";
mes "and Wizards that usually scare";
mes "off the boys with their spells.";
close2; cutin "",255; end;
case 4:
if(Sex == SEX_MALE) {
mes "Oh, that's the 'Double Strafe'";
mes "style! The arrangement of the";
mes "hair conducts ambient static";
mes "electricity, naturally clearing";
mes "the mind. At least, that's what";
mes "I was taught in fashion school.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Arrow Shower' style!";
mes "For the Bowswoman who doesn't";
mes "want fashion to interfere with";
mes "her depth perception. Much more";
mes "attractive than those horrid";
mes "granny-style hairbuns.";
close2; cutin "",255; end;
case 5:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Angelus' style!";
mes "It's for calm and devout people,";
mes "as well as those bashful,";
mes "mild-mannered types.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Heal' style!";
mes "This is in trend among";
mes "Priests and Acolytes since";
mes "this style is appropriate";
mes "for formal situations, but";
mes "is also practical in battle.";
close2; cutin "",255; end;
case 6:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Push Cart' style!";
mes "It was based on the design of a";
mes "cart...at least, that's what";
mes "I learned in beautician school.";
close2; cutin "",255; end;
}
mes "Ooh, that's 'Vending' style!";
mes "It's the hairdo of money";
mes "makers...and if I may say so,";
mes "it's also economical.";
close2; cutin "",255; end;
case 7:
if(Sex == SEX_MALE) {
mes "Ooh, that's 'Envenom' style!";
mes "It looks great on Thieves and";
mes "and Assassins when they're";
mes "out poisoning people and animals.";
mes "It's fashion for the aggressive";
mes "and eclectic~!";
close2; cutin "",255; end;
}
mes "Oh, that's 'Double Attack' style!";
mes "The adorable pigtail, paired with";
mes "those provacative bangs are sure";
mes "to help you steal the heart of";
mes "some cute guy.";
close2; cutin "",255; end;
case 8:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Bowling Bash' style!";
mes "A popular style for Knights, its";
mes "manly, rugged look tends to";
mes "attract all of the ladies,";
mes "and looks great on men with";
mes "strong chins.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Gloria' style!";
mes "It's very elegant and looks";
mes "great on holy Priests. This";
mes "style is most attractive to";
mes "ladies who aren't that used";
mes "to fighting with their hands.";
close2; cutin "",255; end;
case 9:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Venom Dust' style!";
mes "Definitely a look for rebels,";
mes "the sweeping, yet decidedly";
mes "luxorious locks seems to enchant";
mes "girls with a fatal attraction.";
close2; cutin "",255; end;
}
mes "Oh, that's 'SP Recovery' style!";
mes "To add more body to the special";
mes "style of these bangs, I use a";
mes "special conditioner that makes";
mes "you feel like you're regaining SP";
mes "...Although, it acutally doesn't.";
close2; cutin "",255; end;
case 10:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Turn Undead' style!";
mes "This is popular among Priests";
mes "that want a serious, yet a bit";
mes "of a wild, agressive look.";
mes "Definitely more attractive";
mes "than the 'Holy Light' mullet.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Prepare Potion' style!";
mes "The flared out tresses are chosen";
mes "by beginning Alchemists, since";
mes "early, explosive experiments would";
mes "make their hair to stick out anyway.";
close2; cutin "",255; end;
case 11:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Dragonology' style!";
mes "It's neat and clean cut, perfect";
mes "for studious people and looks";
mes "great with eyeglasses. This";
mes "is a fashion well suited to";
mes "intellectual types.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Grand Cross' style!";
mes "It's in style among those pious";
mes "Crusaders that need hair that";
mes "won't muss during fighting, yet";
mes "is respectable enough to attend";
mes "religious services.";
close2; cutin "",255; end;
case 12:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Mace Mastery' style!";
mes "A lot of care goes into making";
mes "that tussled hair say, 'I don't";
mes "care how I look at all.'";
close2; cutin "",255; end;
}
mes "Oh, that's 'Intimidate' style!";
mes "The Rogue women seem to like";
mes "this style...although I imagine";
mes "that more of them would prefer";
mes "something wilder to match those";
mes "stockings...";
close2; cutin "",255; end;
case 13:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Thunder Storm' style!";
mes "This hot, flamboyant hairstyle";
mes "flares out wildly like thunder.";
mes "...And you will too with this new look.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Spiritual Sphere";
mes "Absorption' style! There's a";
mes "charismatic quality to this";
mes "fashion: it's tough, slightly";
mes "tomboyish, but not so much";
mes "that it can't be cute.";
close2; cutin "",255; end;
case 14:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Encore' style!";
mes "The elegant, flowing locks";
mes "fit well with Bards, or men who";
mes "appreciate the value of male";
mes "beauty.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Gypsy's Kiss' style!";
mes "Dancers seem to like this style,";
mes "although personally, I think";
mes "this fashion fits very well";
mes "with glasses.";
close2; cutin "",255; end;
case 15:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Grimtooth' style!";
mes "Spiky and unkempt, this style";
mes "is a popular counterculture";
mes "street fashion. You might";
mes "not want to wear your hair";
mes "this way at a wedding, though.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Counter Attack' style!";
mes "This is an intimidating look for";
mes "girls that want to say 'You hit";
mes "me, I'll hit you back!' It really";
mes "emphasizes strong looking";
mes "foreheads and cheekbones.";
close2; cutin "",255; end;
case 16:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Blitz Beat' style!";
mes "A funky and lively fashion,";
mes "this style was developed for a";
mes "Hunter who liked really long";
mes "bangs and wanted to see";
mes "through them at the same time.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Anke Snare' style!";
mes "The style style is specially";
mes "made for Hunters that don't like";
mes "to get their hair tangled...";
mes "After all, what kind of Hunter";
mes "lets their hair get trapped?";
close2; cutin "",255; end;
case 17:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Find Ore' style!";
mes "It's a practical, economical look";
mes "that is popular among Blacksmiths.";
mes "Some swear that this fashion helps";
mes "them in finding ores, but where's";
mes "the science in that??";
close2; cutin "",255; end;
}
mes "Oh, that's 'Hammer Fall' style!";
mes "For the woman that doesn't want";
mes "her hair to get in the way when";
mes "she's savagely swinging heavy";
mes "objects. Of course, this is a";
mes "Blacksmith favorite.";
close2; cutin "",255; end;
case 18:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Fire Pillar' style!";
mes "It's a trendy look, in which";
mes "you cover one eye for that";
mes "intrigue effect. The element";
mes "of mystery is always in";
mes "fashion, don't you think?";
close2; cutin "",255; end;
}
mes "Oh, that's 'Jupitel Thunder'";
mes "style! A look that strikes";
mes "like lightening, without";
mes "any of that annoying static";
mes "cling or muss. This fashion";
mes "looks great with Mage Hats.";
close2; cutin "",255; end;
case 19:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Guillotine Fist'";
mes "style! The smooth, slicked back";
mes "pompadour shows that you're";
mes "serious about your passion";
mes "for brawling... or just your passion.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Whirlwind' style!";
mes "A favorite among the studious";
mes "Sages, the hair is tied back";
mes "in a stylish braid so that";
mes "it doesn't fly around after";
mes "casting those windy spells.";
close2; cutin "",255; end;
}
}
case 2:
if(BaseLevel < 60) {
mes "[Veronica]";
mes "Oh, dear, you're looking fabulous with";
mes "your current hairstyle. Why don't you";
mes "try a new hair accessory rather than changing your look?";
close;
} else if((countitem(973) < 3) || (countitem(974) < 3) || (countitem(901) <100) || (countitem(1094) <100) || (countitem(1020) <100) || (countitem(1060) <100) || (countitem(7152) <100) || (Zeny < 99800)) {
mes "[Veronica]";
mes "If you wish to change your";
mes "hairstyle, you should meet some";
mes "requirements. I suggest that you";
mes "write down all the items that";
mes "you will need.";
next;
mes "[Veronica]";
mes "3 Counteragent,";
mes "3 Mixture,";
mes "100 Danggie,";
mes "100 Short Danggie,";
mes "100 Black Hair,";
mes "100 Golden Hair,";
mes "100 Glossy Hair, and lastly...";
next;
mes "[Veronica]";
mes "You will need 99,800 zeny.";
mes "Please come back when you're";
mes "ready. I will make you look";
mes "fabulous. Hohohohoho~";
close;
}
mes "[Veronica]";
mes "Okay now, please choose the style";
mes "you desire from styles no.1 to";
mes "no.19. I will do my best to";
mes "make you look your very best.";
next;
input .@style;
if(.@style > 19) {
mes "[Veronica]";
mes "I am sorry, you chose an unavailable style.";
mes "Make sure you enter the correct number.";
close;
} else if(.@style == 0) {
mes "[Veronica]";
mes "You have canceled your request.";
close;
} else if(getlook(1) == .@style) {
mes "[Veronica]";
mes "I am sorry, but you are already";
mes "wearing the style you have";
mes "requested. Would you please";
mes "choose a different style?";
close;
}
callsub L_cutin,.@style;
mes "[Veronica]";
mes "You have chosen style no. (" + .@style + ").";
mes "I shall proceed with your request.";
mes "Would you mind?";
next;
if(select("No, I don't mind.:Yes, let me choose another one.") == 1) {
if(getlook(6) == 0) {
mes "[Veronica]";
mes "Oh, my, you haven't dyed your hair";
mes "at all. You would look even more";
mes "fabulous if you dyed your hair...";
mes "Oh well, I will do it for free.";
mes "So what kind of color would you like?";
next;
switch(select("Red.:Yellow.:Purple.:Orange.:Green.:Blue.:White.:Dark Brown.:Cancel.")) {
case 1:
set .@pallete,8;
break;
case 2:
set .@pallete,1;
break;
case 3:
set .@pallete,2;
break;
case 4:
set .@pallete,3;
break;
case 5:
set .@pallete,4;
break;
case 6:
set .@pallete,5;
break;
case 7:
set .@pallete,6;
break;
case 8:
set .@pallete,7;
break;
case 9:
mes "[Veronica]";
mes "Oh, I was gonna do it for free.";
mes "Well, if you change your mind, please come again.";
mes "The color of your hair enhances your look.";
close;
}
}
nude;
mes "[Veronica]";
mes "Now, let's get started. Try to";
mes "stay still, dear. If you move,";
mes "it might ruin the perfect look";
mes "I intend to give you. Trust me,";
mes "I will make you look fabulous~";
next;
mes "[Veronica]";
mes "- *snip snip snip snip* -";
mes "- *bzzzzzzz bzzzzzzz bzzzzzzz bzzzzzzz* -";
mes "- *snip snip snip snip* -";
mes "- *bzzzzzzz bzzzzzzz bzzzzzzz bzzzzzzz* -";
next;
set Zeny, Zeny-99800;
delitem 973,3; // Counteragent
delitem 974,3; // Mixture
delitem 901,100; // Danggie
delitem 1094,100; // Short_Daenggie
delitem 1020,100; // Long_Hair
delitem 1060,100; // Golden_Hair
delitem 7152,100; // Glossy_Hair
setlook 1,.@style;
setlook 6,.@pallete;
cutin "",255;
mes "[Veronica]";
mes "Alright, it's done~";
mes "I hope you like";
mes "this style no.(" + .@style + ").";
mes "Feel free to come back anytime";
mes "when you want a new hairstyle. Hohohohohoho~";
setlook 1,.@style;
setlook 6,.@pallete;
close;
}
mes "[Veronica]";
mes "Okay then, please choose one";
mes "a hairstyle again. I believe";
mes "you will find the look that's best for you.";
close;
case 3:
mes "[Veronica]";
mes "Everybody deserves the right to";
mes "pursue beauty. I hope that you";
mes "will find the right hairstyle";
mes "one of these days.";
close;
}
L_cutin:
.@num = getarg(0);
if(Sex == SEX_MALE) {
if (.@num < 10)
cutin "hair_m_0"+ .@num,4;
else
cutin "hair_m_"+ .@num,4;
} else {
if (.@num < 10)
cutin "hair_f_0"+ .@num,4;
else
cutin "hair_f_"+ .@num,4;
}
return;
}
// Roving Hair Dresser
// ============================================================
alberta,33,141,7 script Roving Hair Dresser 87,{
@ -685,420 +178,6 @@ alberta,33,141,7 script Roving Hair Dresser 87,{
}
// Lighthalzen
lhz_in02,100,143,3 script Hair Dresser#li 122,{
mes "[Prince Shammi]";
mes "Welcome to Prince Shammi's";
mes "Beauty Shop, the place to go";
mes "for faaabulous hair. Don't be";
mes "shy, tell me exactly how you";
mes "want me to make you glamorous~";
next;
switch(select("Check all hairstyles:Change hairstyle:Cancel")) {
case 1:
mes "[Prince Shammi]";
mes "Oh, would you like to";
mes "see all of the trendy new";
mes "hairstyles I offer?";
next;
mes "[Prince Shammi]";
mes "Please, oh please, choose from the following styles and I will show you a preview.";
next;
switch(select("Old Hairstyles:New Hairstyles")) {
case 1:
if (Sex == SEX_MALE) {
switch(select("Petite Style:Executioner Style:Prince Style:Deviace Style:Cancel")) {
case 1:
cutin "hair_m_20",4;
mes "[Prince Shammi]";
mes "This is the ^3131FFPetite Style^000000,";
mes "which softens the gentleman's";
mes "appearance with long braids";
mes "for a fluffier appearance.";
break;
case 2:
cutin "hair_m_21",4;
mes "[Prince Shammi]";
mes "Oh, the ^3131FFExecutioner Style^000000!";
mes "It's a rugged, shaggy style";
mes "for that tough guy look that's";
mes "becoming popular these days.";
mes "And every girl loves a tough";
mes "guy, right? ^333333*Tee hee~*^000000";
break;
case 3:
cutin "hair_m_22",4;
mes "[Prince Shammi]";
mes "You certainly have an";
mes "eye for fashion! Yes, this";
mes "is the ^3131FFPrince Style^000000, the";
mes "pinnacle of sexiness and";
mes "sophistication. Magnifique, no?";
mes "Yes, choose this one, this one!";
break;
case 4:
cutin "hair_m_23",4;
mes "[Prince Shammi]";
mes "A-ha~! The ^3131FFDeviace Style^000000!";
mes "This is much like the Prince";
mes "Style, but with shorter hair";
mes "in the back. Yes, this look";
mes "is very neat and dandy.";
break;
case 5:
cutin "hair_f_01",255;
mes "[Prince Shammi]";
mes "No? You didn't want";
mes "to take a look? Please,";
mes "you're an adventurer, I know";
mes "you can be more daring than";
mes "that! Be fashionably adventurous, you fashionable adventurer~";
emotion ET_THROB;
close;
}
}
else {
switch(select("Spring Rabbit Style:Harpy Style:Medusa Style:Isis Style:Cancel")) {
case 1:
cutin "hair_f_20",4;
mes "[Prince Shammi]";
mes "Oh yes, this is the ";
mes "^3131FFSpring Rabbit Style^000000.";
mes "The bobbing forelock";
mes "adds an aura of chic,";
mes "cutsiness and playfulness.";
mes "Yes? No? Yes? No? Oh yes!";
break;
case 2:
cutin "hair_f_21",4;
mes "[Prince Shammi]";
mes "Ooh, are you interested";
mes "in the ^3131FFHarpy Style^000000? The";
mes "natural curl coupled with";
mes "the pony tail results in";
mes "a sophisticated, yet very";
mes "natural and relaxed look~";
break;
case 3:
cutin "hair_f_22",4;
mes "[Prince Shammi]";
mes "Ahh, the ^3131FFMedusa Style^000000~";
mes "These boldy flowing locks";
mes "scream power and dominance";
mes "and is ideal for the big career";
mes "woman who wishes to be...";
mes "irresistable to men~";
break;
case 4:
cutin "hair_f_23",4;
mes "[Prince Shammi]";
mes "Ooh, the ^3131FFIsis Style^000000~";
mes "Yes, you'll look very cute";
mes "with your hair in buns on";
mes "on both sides of your head.";
mes "It'll be very darling on you!";
break;
case 5:
mes "[Prince Shammi]";
mes "No? You didn't want";
mes "to take a look? Please,";
mes "you're an adventurer, I know";
mes "you can be more daring than";
mes "that! Be fashionably adventurous, you fashionable adventurer~";
emotion ET_THROB;
close;
}
}
break;
case 2:
if (Sex == SEX_MALE) {
switch(select("Emergency Heal Perm:Aura Blade Cut:Power Swing:Renovatio Cut:Cancel")) {
case 1:
cutin "hair_m_24",4;
mes "[Prince Shammi]";
mes "This is the ^3131FFEmergency Heal Perm^000000";
mes "It is quite popular among the healing class.";
break;
case 2:
cutin "hair_m_25",4;
mes "[Prince Shammi]";
mes "You must be after a lady yes?";
mes "The ^3131FFAura Blade Cut^000000";
mes "is known to make the ladies swoon, you tiger you!";
break;
case 3:
cutin "hair_m_26",4;
mes "[Prince Shammi]";
mes "Oh you brute!";
mes "^3131FFPower Swing Cut^000000";
mes "Flex your style muscles with this hairstyle. This is definitely your look.";
break;
case 4:
cutin "hair_m_27",4;
mes "[Prince Shammi]";
mes "Ah! I see you're only interested in the latest trends.";
mes "Straight from the runway is the ^3131FFRenovatio Cut^000000.";
break;
case 5:
mes "[Prince Shammi]";
mes "No? You didn't want";
mes "to take a look? Please,";
mes "you're an adventurer, I know";
mes "you can be more daring than";
mes "that! Be fashionably adventurous, you fashionable adventurer~";
emotion ET_THROB;
close;
}
}
else {
switch(select("Assumptio Perm:Soul Changer Cut:X Tornado Cut:Oratio Cut:Cancel")) {
case 1:
cutin "hair_f_24",4;
mes "[Prince Shammi]";
mes "This is the ^3131FFAssumptio Perm^000000";
mes "It's a shorter style perm that allows for maximum spellcasting.";
break;
case 2:
cutin "hair_f_25",4;
mes "[Prince Shammi]";
mes "You must be a man killer no?";
mes "The ^3131FFSoul Changer Cut^000000";
mes "will make any man open his wall... er heart to you!";
break;
case 3:
cutin "hair_f_26",4;
mes "[Prince Shammi]";
mes "This is a bit of a trendy style";
mes "^3131FFX Tornado Cut^000000";
mes "It's for adventurous people who like change.";
break;
case 4:
cutin "hair_f_27",4;
mes "[Prince Shammi]";
mes "Ah! I see you're only interested in the latest trends.";
mes "Straight from the runway is the ^3131FFOratio Cut^000000.";
mes "You'll be the envy of all of your friends with this hairstyle.";
break;
case 5:
mes "[Prince Shammi]";
mes "No? You didn't want";
mes "to take a look? Please,";
mes "you're an adventurer, I know";
mes "you can be more daring than";
mes "that! Be fashionably adventurous, you fashionable adventurer~";
emotion ET_THROB;
close;
}
}
}
close2;
cutin "",255;
end;
case 2:
if (BaseLevel < 60) {
mes "[Prince Shammi]";
mes "Oh, I'm so sorry, but";
mes "I can only perform my";
mes "services for clients that have";
mes "matured enough to find their";
mes "true inner beauty. But please";
mes "come back once you do, okay?";
close;
}
else if ((countitem(973) < 3) || (countitem(974) < 3) || (countitem(901) < 100) || (countitem(1094) < 100) || (countitem(1020) < 100) || (countitem(1060) < 100) || (countitem(7152) < 100) || (Zeny < 99800)) {
mes "[Prince Shammi]";
mes "If you've already decided";
mes "what hairstyle you'd like,";
mes "please have my service charge";
mes "ready, as well as the materials";
mes "I will need in performing this";
mes "service, okay? Please bring...";
next;
mes "[Prince Shammi]";
mes "^3355FF3 Counteragent^000000,";
mes "^3355FF3 Mixture^000000,";
mes "^3355FF100 Daenggie^000000,";
mes "^3355FF100 Short Daenggie^000000...";
next;
mes "[Prince Shammi]";
mes "^3355FF100 Black Hair^000000,";
mes "^3355FF100 Golden Hair^000000,";
mes "^3355FF100 Glossy Hair^000000";
mes "and ^3355FF99,800 zeny^000000.";
mes "Once you do that, I'll make";
mes "a miracle out of your hair!";
close;
}
mes "[Prince Shammi]";
mes "Alright, please choose";
mes "which hairstyle you wish";
mes "to have from numbers 20 to 25.";
mes "Here's a list of the style names just in case you need them~";
next;
mes "[Prince Shammi]";
if (Sex == SEX_MALE) {
mes "No. 20: Petite Style";
mes "No. 21: Executioner Style";
mes "No. 22: Prince Style";
mes "No. 23: Deviace Style";
mes "No. 24: Emergency Heal Perm";
mes "No. 25: Aura Blade Cut";
mes "No. 26: Power Swing and";
mes "No. 27: Renovatio Cut.";
}
else {
mes "No. 20: Spring Rabbit Style";
mes "No. 21: Harpy Style";
mes "No. 22: Medusa Style";
mes "No. 23: Isis Style";
mes "No. 24: Assumptio Perm";
mes "No. 25: Soul Changer Cut";
mes "No. 26: X Tornado Cut and";
mes "No. 27: Oratio Cut.";
}
next;
input .@input;
if (.@input == 0) {
mes "[Prince Shammi]";
mes "Oh...?";
mes "You decided to cancel?";
mes "Well, you know what's";
mes "best for you, I suppose.";
mes "Still, I'm so disappointed~";
close;
}
else if ((.@input < 20) || (.@input > 27)) {
mes "[Prince Shammi]";
mes "Dearie, please enter";
mes "a number from ''20'' to";
mes "''25,'' alright? Then I can";
mes "get right to work at making";
mes "you soooooooo beautiful!";
close;
}
else if (getlook(VAR_HEAD) == .@input) {
mes "[Prince Shammi]";
mes "Oh dear me, you're not";
mes "going to waste money for";
mes "the same hairstyle that you";
mes "have now, are you? You can";
mes "have someone else change";
mes "your hair color, you know.";
close;
}
else {
if (Sex == SEX_MALE)
cutin "hair_m_"+.@input+".BMP",4;
else
cutin "hair_f_"+.@input+".BMP",4;
mes "[Prince Shammi]";
mes "Oooh! Now, is this the";
mes "hairstyle that you wanted?";
mes "This is No. "+.@input+", by the way.";
next;
switch(select("Yes.:No.")) {
case 1:
if (getlook(VAR_HEADPALETTE) == 0) {
mes "[Prince Shammi]";
mes "Oh, Sweet Christmas,";
mes "I almost forgot! Would";
mes "you like me to dye your";
mes "hair, free of charge? It's";
mes "a part of my service, so";
mes "please choose a color~";
next;
switch(select("Red:Yellow:Purple:Orange:Green:Blue:White:Dark Brown")) {
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;
}
}
mes "[Prince Shammi]";
mes "Okay, let's get";
mes "started, shall we?";
mes "Keep your head still,";
mes "now. Yes, that's good...";
next;
mes "^3355FF*Snip snip*";
mes "*Rustle rustle*";
mes "*Clip clip clip clip*";
mes "*Bzzzzzzzzzzzzzzzzzzzz*^000000";
next;
set Zeny, Zeny-99800;
delitem 973,3; //Counteragent
delitem 974,3; //Mixture
delitem 901,100; //Danggie
delitem 1094,100; //Short_Daenggie
delitem 1020,100; //Long_Hair
delitem 1060,100; //Golden_Hair
delitem 7152,100; //Glossy_Hair
setlook VAR_HEAD,.@input;
setlook VAR_HEADPALETTE,.@headpalette;
mes "[Prince Shammi]";
mes "Well, we're all finished!";
mes "And my, oh my, you look even";
mes "more fabulous that I thought";
mes "you would! Oh, I can't believe";
if (Sex == SEX_MALE) {
mes "how tough and elegant you are~";
mes "So ruggedly manly and handsome!";
}
else {
mes "how graceful and elegant you";
mes "look! Absolutely gorgeous!";
}
emotion ET_CHUP;
next;
mes "[Prince Shammi]";
mes "You love your new";
mes "hair, don't you? Feel";
mes "free to come back anytime.";
mes "I'll make you the best looking";
mes "person in the entire world!";
emotion ET_BEST;
close;
case 2:
mes "[Prince Shammi]";
mes "Oh, did you forget which";
mes "hairstyle goes with which";
mes "number? By all means, please";
mes "check again! Find the one that";
mes "is perfect just for you, okay?";
close;
}
}
break;
case 3:
mes "[Prince Shammi]";
mes "Humm ? ";
mes "Maybe you don't understand";
mes "my futuristic styles.";
mes "Goodbye! ";
close;
}
}
lhz_in02,91,155,5 script Assistant Beautician#li 862,{
mes "[Assistant Beautician]";
mes "Wah?! Sweet Jiminy,";

View File

@ -0,0 +1,157 @@
//===== 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]
//= 1.6 Moving NPC Jovovich to Pre-Renewal [JohnnyPlayy]
//============================================================
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;
}

View File

@ -0,0 +1,946 @@
//===== rAthena Script =======================================
//= Hair Dresser
//===== By: ==================================================
//= Muad_Dib, Samuray22, Kisuka
//===== Current Version: =====================================
//= 1.4
//===== Compatible With: =====================================
//= rAthena Project
//===== Description: =========================================
//= [Official Conversion]
//= Allows you to change your hairstyle.
//===== Additional Comments: =================================
//= 1.2 Rescripted to the Aegis 10.3 Standards. [Samuray22]
//= 1.3 Updated to match AEGIS script. [Kisuka]
//= 1.4 Added Lighthalzen Hair Dresser. [L0ne_W0lf]
//= 1.5 Moving NPC Hair Dresser to Pre-Renewal [JohnnyPlayy]
//============================================================
// Hair Dresser Veronica
// ============================================================
alberta_in,55,142,7 script Hair Dresser 91,{
mes "[Veronica]";
mes "Welcome to Veronica's hair salon.";
mes "How can I help you?";
next;
switch(select("See available hair styles.:Change hair style.:End conversation.")) {
case 1:
mes "[Veronica]";
mes "We have a total of 19 styles, available from no.1 to no.19.";
mes "Which one do you want to see?";
mes "If you wish to cancel,";
mes "please enter 0.";
next;
input .@style;
if(.@style > 19) {
mes "[Veronica]";
mes "Oops, I'm sorry, but that";
mes "style is not available.";
mes "Remember to enter a number";
mes "from 1 to 19.";
next;
} else if(.@style == 0) {
mes "[Veronica]";
mes "So, how do you like the style?";
mes "Feel free to ask me about any";
mes "available hairstyle. It will";
mes "be my pleasure to style your";
mes "hair.";
close;
}
else {
callsub L_cutin,.@style;
mes "[Veronica]";
switch(.@style) {
case 1:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Play Dead' style!";
mes "It's a nice, basic haircut.";
mes "I notice that usually the";
mes "cute, conversative types seem";
mes "to prefer this style.";
close2; cutin "",255; end;
}
mes "Oh, that's 'First Aid' style!";
mes "The shoulder length tresses";
mes "are straightened for those";
mes "no nonsense adventurers. It";
mes "seems to be the style of";
mes "choice for Novices.";
close2; cutin "",255; end;
case 2:
if(Sex == SEX_MALE) {
mes "Oh, that's the 'Two Handed Sword";
mes "Mastery' style! It's perfect for";
mes "for Swordmen who might muss their";
mes "hair while swinging their swords";
mes "all day long.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Bash' style!";
mes "For the powerful woman that's";
mes "not afraid to get a little";
mes "blood on her hands, but knows";
mes "how great her hair will look";
mes "while wildly flailing a sword.";
close2; cutin "",255; end;
case 3:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Napalm Beat' style!";
mes "It's a unique look with a hint";
mes "of eccentricity that's offset";
mes "with a helping of elegance.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Frost Diver' style!";
mes "The pigtails lend an innocent,";
mes "demure look for those Mages";
mes "and Wizards that usually scare";
mes "off the boys with their spells.";
close2; cutin "",255; end;
case 4:
if(Sex == SEX_MALE) {
mes "Oh, that's the 'Double Strafe'";
mes "style! The arrangement of the";
mes "hair conducts ambient static";
mes "electricity, naturally clearing";
mes "the mind. At least, that's what";
mes "I was taught in fashion school.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Arrow Shower' style!";
mes "For the Bowswoman who doesn't";
mes "want fashion to interfere with";
mes "her depth perception. Much more";
mes "attractive than those horrid";
mes "granny-style hairbuns.";
close2; cutin "",255; end;
case 5:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Angelus' style!";
mes "It's for calm and devout people,";
mes "as well as those bashful,";
mes "mild-mannered types.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Heal' style!";
mes "This is in trend among";
mes "Priests and Acolytes since";
mes "this style is appropriate";
mes "for formal situations, but";
mes "is also practical in battle.";
close2; cutin "",255; end;
case 6:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Push Cart' style!";
mes "It was based on the design of a";
mes "cart...at least, that's what";
mes "I learned in beautician school.";
close2; cutin "",255; end;
}
mes "Ooh, that's 'Vending' style!";
mes "It's the hairdo of money";
mes "makers...and if I may say so,";
mes "it's also economical.";
close2; cutin "",255; end;
case 7:
if(Sex == SEX_MALE) {
mes "Ooh, that's 'Envenom' style!";
mes "It looks great on Thieves and";
mes "and Assassins when they're";
mes "out poisoning people and animals.";
mes "It's fashion for the aggressive";
mes "and eclectic~!";
close2; cutin "",255; end;
}
mes "Oh, that's 'Double Attack' style!";
mes "The adorable pigtail, paired with";
mes "those provacative bangs are sure";
mes "to help you steal the heart of";
mes "some cute guy.";
close2; cutin "",255; end;
case 8:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Bowling Bash' style!";
mes "A popular style for Knights, its";
mes "manly, rugged look tends to";
mes "attract all of the ladies,";
mes "and looks great on men with";
mes "strong chins.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Gloria' style!";
mes "It's very elegant and looks";
mes "great on holy Priests. This";
mes "style is most attractive to";
mes "ladies who aren't that used";
mes "to fighting with their hands.";
close2; cutin "",255; end;
case 9:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Venom Dust' style!";
mes "Definitely a look for rebels,";
mes "the sweeping, yet decidedly";
mes "luxorious locks seems to enchant";
mes "girls with a fatal attraction.";
close2; cutin "",255; end;
}
mes "Oh, that's 'SP Recovery' style!";
mes "To add more body to the special";
mes "style of these bangs, I use a";
mes "special conditioner that makes";
mes "you feel like you're regaining SP";
mes "...Although, it acutally doesn't.";
close2; cutin "",255; end;
case 10:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Turn Undead' style!";
mes "This is popular among Priests";
mes "that want a serious, yet a bit";
mes "of a wild, agressive look.";
mes "Definitely more attractive";
mes "than the 'Holy Light' mullet.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Prepare Potion' style!";
mes "The flared out tresses are chosen";
mes "by beginning Alchemists, since";
mes "early, explosive experiments would";
mes "make their hair to stick out anyway.";
close2; cutin "",255; end;
case 11:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Dragonology' style!";
mes "It's neat and clean cut, perfect";
mes "for studious people and looks";
mes "great with eyeglasses. This";
mes "is a fashion well suited to";
mes "intellectual types.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Grand Cross' style!";
mes "It's in style among those pious";
mes "Crusaders that need hair that";
mes "won't muss during fighting, yet";
mes "is respectable enough to attend";
mes "religious services.";
close2; cutin "",255; end;
case 12:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Mace Mastery' style!";
mes "A lot of care goes into making";
mes "that tussled hair say, 'I don't";
mes "care how I look at all.'";
close2; cutin "",255; end;
}
mes "Oh, that's 'Intimidate' style!";
mes "The Rogue women seem to like";
mes "this style...although I imagine";
mes "that more of them would prefer";
mes "something wilder to match those";
mes "stockings...";
close2; cutin "",255; end;
case 13:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Thunder Storm' style!";
mes "This hot, flamboyant hairstyle";
mes "flares out wildly like thunder.";
mes "...And you will too with this new look.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Spiritual Sphere";
mes "Absorption' style! There's a";
mes "charismatic quality to this";
mes "fashion: it's tough, slightly";
mes "tomboyish, but not so much";
mes "that it can't be cute.";
close2; cutin "",255; end;
case 14:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Encore' style!";
mes "The elegant, flowing locks";
mes "fit well with Bards, or men who";
mes "appreciate the value of male";
mes "beauty.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Gypsy's Kiss' style!";
mes "Dancers seem to like this style,";
mes "although personally, I think";
mes "this fashion fits very well";
mes "with glasses.";
close2; cutin "",255; end;
case 15:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Grimtooth' style!";
mes "Spiky and unkempt, this style";
mes "is a popular counterculture";
mes "street fashion. You might";
mes "not want to wear your hair";
mes "this way at a wedding, though.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Counter Attack' style!";
mes "This is an intimidating look for";
mes "girls that want to say 'You hit";
mes "me, I'll hit you back!' It really";
mes "emphasizes strong looking";
mes "foreheads and cheekbones.";
close2; cutin "",255; end;
case 16:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Blitz Beat' style!";
mes "A funky and lively fashion,";
mes "this style was developed for a";
mes "Hunter who liked really long";
mes "bangs and wanted to see";
mes "through them at the same time.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Anke Snare' style!";
mes "The style style is specially";
mes "made for Hunters that don't like";
mes "to get their hair tangled...";
mes "After all, what kind of Hunter";
mes "lets their hair get trapped?";
close2; cutin "",255; end;
case 17:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Find Ore' style!";
mes "It's a practical, economical look";
mes "that is popular among Blacksmiths.";
mes "Some swear that this fashion helps";
mes "them in finding ores, but where's";
mes "the science in that??";
close2; cutin "",255; end;
}
mes "Oh, that's 'Hammer Fall' style!";
mes "For the woman that doesn't want";
mes "her hair to get in the way when";
mes "she's savagely swinging heavy";
mes "objects. Of course, this is a";
mes "Blacksmith favorite.";
close2; cutin "",255; end;
case 18:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Fire Pillar' style!";
mes "It's a trendy look, in which";
mes "you cover one eye for that";
mes "intrigue effect. The element";
mes "of mystery is always in";
mes "fashion, don't you think?";
close2; cutin "",255; end;
}
mes "Oh, that's 'Jupitel Thunder'";
mes "style! A look that strikes";
mes "like lightening, without";
mes "any of that annoying static";
mes "cling or muss. This fashion";
mes "looks great with Mage Hats.";
close2; cutin "",255; end;
case 19:
if(Sex == SEX_MALE) {
mes "Oh, that's 'Guillotine Fist'";
mes "style! The smooth, slicked back";
mes "pompadour shows that you're";
mes "serious about your passion";
mes "for brawling... or just your passion.";
close2; cutin "",255; end;
}
mes "Oh, that's 'Whirlwind' style!";
mes "A favorite among the studious";
mes "Sages, the hair is tied back";
mes "in a stylish braid so that";
mes "it doesn't fly around after";
mes "casting those windy spells.";
close2; cutin "",255; end;
}
}
case 2:
if(BaseLevel < 60) {
mes "[Veronica]";
mes "Oh, dear, you're looking fabulous with";
mes "your current hairstyle. Why don't you";
mes "try a new hair accessory rather than changing your look?";
close;
} else if((countitem(973) < 3) || (countitem(974) < 3) || (countitem(901) <100) || (countitem(1094) <100) || (countitem(1020) <100) || (countitem(1060) <100) || (countitem(7152) <100) || (Zeny < 99800)) {
mes "[Veronica]";
mes "If you wish to change your";
mes "hairstyle, you should meet some";
mes "requirements. I suggest that you";
mes "write down all the items that";
mes "you will need.";
next;
mes "[Veronica]";
mes "3 Counteragent,";
mes "3 Mixture,";
mes "100 Danggie,";
mes "100 Short Danggie,";
mes "100 Black Hair,";
mes "100 Golden Hair,";
mes "100 Glossy Hair, and lastly...";
next;
mes "[Veronica]";
mes "You will need 99,800 zeny.";
mes "Please come back when you're";
mes "ready. I will make you look";
mes "fabulous. Hohohohoho~";
close;
}
mes "[Veronica]";
mes "Okay now, please choose the style";
mes "you desire from styles no.1 to";
mes "no.19. I will do my best to";
mes "make you look your very best.";
next;
input .@style;
if(.@style > 19) {
mes "[Veronica]";
mes "I am sorry, you chose an unavailable style.";
mes "Make sure you enter the correct number.";
close;
} else if(.@style == 0) {
mes "[Veronica]";
mes "You have canceled your request.";
close;
} else if(getlook(1) == .@style) {
mes "[Veronica]";
mes "I am sorry, but you are already";
mes "wearing the style you have";
mes "requested. Would you please";
mes "choose a different style?";
close;
}
callsub L_cutin,.@style;
mes "[Veronica]";
mes "You have chosen style no. (" + .@style + ").";
mes "I shall proceed with your request.";
mes "Would you mind?";
next;
if(select("No, I don't mind.:Yes, let me choose another one.") == 1) {
if(getlook(6) == 0) {
mes "[Veronica]";
mes "Oh, my, you haven't dyed your hair";
mes "at all. You would look even more";
mes "fabulous if you dyed your hair...";
mes "Oh well, I will do it for free.";
mes "So what kind of color would you like?";
next;
switch(select("Red.:Yellow.:Purple.:Orange.:Green.:Blue.:White.:Dark Brown.:Cancel.")) {
case 1:
set .@pallete,8;
break;
case 2:
set .@pallete,1;
break;
case 3:
set .@pallete,2;
break;
case 4:
set .@pallete,3;
break;
case 5:
set .@pallete,4;
break;
case 6:
set .@pallete,5;
break;
case 7:
set .@pallete,6;
break;
case 8:
set .@pallete,7;
break;
case 9:
mes "[Veronica]";
mes "Oh, I was gonna do it for free.";
mes "Well, if you change your mind, please come again.";
mes "The color of your hair enhances your look.";
close;
}
}
nude;
mes "[Veronica]";
mes "Now, let's get started. Try to";
mes "stay still, dear. If you move,";
mes "it might ruin the perfect look";
mes "I intend to give you. Trust me,";
mes "I will make you look fabulous~";
next;
mes "[Veronica]";
mes "- *snip snip snip snip* -";
mes "- *bzzzzzzz bzzzzzzz bzzzzzzz bzzzzzzz* -";
mes "- *snip snip snip snip* -";
mes "- *bzzzzzzz bzzzzzzz bzzzzzzz bzzzzzzz* -";
next;
set Zeny, Zeny-99800;
delitem 973,3; // Counteragent
delitem 974,3; // Mixture
delitem 901,100; // Danggie
delitem 1094,100; // Short_Daenggie
delitem 1020,100; // Long_Hair
delitem 1060,100; // Golden_Hair
delitem 7152,100; // Glossy_Hair
setlook 1,.@style;
setlook 6,.@pallete;
cutin "",255;
mes "[Veronica]";
mes "Alright, it's done~";
mes "I hope you like";
mes "this style no.(" + .@style + ").";
mes "Feel free to come back anytime";
mes "when you want a new hairstyle. Hohohohohoho~";
setlook 1,.@style;
setlook 6,.@pallete;
close;
}
mes "[Veronica]";
mes "Okay then, please choose one";
mes "a hairstyle again. I believe";
mes "you will find the look that's best for you.";
close;
case 3:
mes "[Veronica]";
mes "Everybody deserves the right to";
mes "pursue beauty. I hope that you";
mes "will find the right hairstyle";
mes "one of these days.";
close;
}
L_cutin:
.@num = getarg(0);
if(Sex == SEX_MALE) {
if (.@num < 10)
cutin "hair_m_0"+ .@num,4;
else
cutin "hair_m_"+ .@num,4;
} else {
if (.@num < 10)
cutin "hair_f_0"+ .@num,4;
else
cutin "hair_f_"+ .@num,4;
}
return;
}
// Lighthalzen
lhz_in02,100,143,3 script Hair Dresser#li 122,{
mes "[Prince Shammi]";
mes "Welcome to Prince Shammi's";
mes "Beauty Shop, the place to go";
mes "for faaabulous hair. Don't be";
mes "shy, tell me exactly how you";
mes "want me to make you glamorous~";
next;
switch(select("Check all hairstyles:Change hairstyle:Cancel")) {
case 1:
mes "[Prince Shammi]";
mes "Oh, would you like to";
mes "see all of the trendy new";
mes "hairstyles I offer?";
next;
mes "[Prince Shammi]";
mes "Please, oh please, choose from the following styles and I will show you a preview.";
next;
switch(select("Old Hairstyles:New Hairstyles")) {
case 1:
if (Sex == SEX_MALE) {
switch(select("Petite Style:Executioner Style:Prince Style:Deviace Style:Cancel")) {
case 1:
cutin "hair_m_20",4;
mes "[Prince Shammi]";
mes "This is the ^3131FFPetite Style^000000,";
mes "which softens the gentleman's";
mes "appearance with long braids";
mes "for a fluffier appearance.";
break;
case 2:
cutin "hair_m_21",4;
mes "[Prince Shammi]";
mes "Oh, the ^3131FFExecutioner Style^000000!";
mes "It's a rugged, shaggy style";
mes "for that tough guy look that's";
mes "becoming popular these days.";
mes "And every girl loves a tough";
mes "guy, right? ^333333*Tee hee~*^000000";
break;
case 3:
cutin "hair_m_22",4;
mes "[Prince Shammi]";
mes "You certainly have an";
mes "eye for fashion! Yes, this";
mes "is the ^3131FFPrince Style^000000, the";
mes "pinnacle of sexiness and";
mes "sophistication. Magnifique, no?";
mes "Yes, choose this one, this one!";
break;
case 4:
cutin "hair_m_23",4;
mes "[Prince Shammi]";
mes "A-ha~! The ^3131FFDeviace Style^000000!";
mes "This is much like the Prince";
mes "Style, but with shorter hair";
mes "in the back. Yes, this look";
mes "is very neat and dandy.";
break;
case 5:
cutin "hair_f_01",255;
mes "[Prince Shammi]";
mes "No? You didn't want";
mes "to take a look? Please,";
mes "you're an adventurer, I know";
mes "you can be more daring than";
mes "that! Be fashionably adventurous, you fashionable adventurer~";
emotion ET_THROB;
close;
}
}
else {
switch(select("Spring Rabbit Style:Harpy Style:Medusa Style:Isis Style:Cancel")) {
case 1:
cutin "hair_f_20",4;
mes "[Prince Shammi]";
mes "Oh yes, this is the ";
mes "^3131FFSpring Rabbit Style^000000.";
mes "The bobbing forelock";
mes "adds an aura of chic,";
mes "cutsiness and playfulness.";
mes "Yes? No? Yes? No? Oh yes!";
break;
case 2:
cutin "hair_f_21",4;
mes "[Prince Shammi]";
mes "Ooh, are you interested";
mes "in the ^3131FFHarpy Style^000000? The";
mes "natural curl coupled with";
mes "the pony tail results in";
mes "a sophisticated, yet very";
mes "natural and relaxed look~";
break;
case 3:
cutin "hair_f_22",4;
mes "[Prince Shammi]";
mes "Ahh, the ^3131FFMedusa Style^000000~";
mes "These boldy flowing locks";
mes "scream power and dominance";
mes "and is ideal for the big career";
mes "woman who wishes to be...";
mes "irresistable to men~";
break;
case 4:
cutin "hair_f_23",4;
mes "[Prince Shammi]";
mes "Ooh, the ^3131FFIsis Style^000000~";
mes "Yes, you'll look very cute";
mes "with your hair in buns on";
mes "on both sides of your head.";
mes "It'll be very darling on you!";
break;
case 5:
mes "[Prince Shammi]";
mes "No? You didn't want";
mes "to take a look? Please,";
mes "you're an adventurer, I know";
mes "you can be more daring than";
mes "that! Be fashionably adventurous, you fashionable adventurer~";
emotion ET_THROB;
close;
}
}
break;
case 2:
if (Sex == SEX_MALE) {
switch(select("Emergency Heal Perm:Aura Blade Cut:Power Swing:Renovatio Cut:Cancel")) {
case 1:
cutin "hair_m_24",4;
mes "[Prince Shammi]";
mes "This is the ^3131FFEmergency Heal Perm^000000";
mes "It is quite popular among the healing class.";
break;
case 2:
cutin "hair_m_25",4;
mes "[Prince Shammi]";
mes "You must be after a lady yes?";
mes "The ^3131FFAura Blade Cut^000000";
mes "is known to make the ladies swoon, you tiger you!";
break;
case 3:
cutin "hair_m_26",4;
mes "[Prince Shammi]";
mes "Oh you brute!";
mes "^3131FFPower Swing Cut^000000";
mes "Flex your style muscles with this hairstyle. This is definitely your look.";
break;
case 4:
cutin "hair_m_27",4;
mes "[Prince Shammi]";
mes "Ah! I see you're only interested in the latest trends.";
mes "Straight from the runway is the ^3131FFRenovatio Cut^000000.";
break;
case 5:
mes "[Prince Shammi]";
mes "No? You didn't want";
mes "to take a look? Please,";
mes "you're an adventurer, I know";
mes "you can be more daring than";
mes "that! Be fashionably adventurous, you fashionable adventurer~";
emotion ET_THROB;
close;
}
}
else {
switch(select("Assumptio Perm:Soul Changer Cut:X Tornado Cut:Oratio Cut:Cancel")) {
case 1:
cutin "hair_f_24",4;
mes "[Prince Shammi]";
mes "This is the ^3131FFAssumptio Perm^000000";
mes "It's a shorter style perm that allows for maximum spellcasting.";
break;
case 2:
cutin "hair_f_25",4;
mes "[Prince Shammi]";
mes "You must be a man killer no?";
mes "The ^3131FFSoul Changer Cut^000000";
mes "will make any man open his wall... er heart to you!";
break;
case 3:
cutin "hair_f_26",4;
mes "[Prince Shammi]";
mes "This is a bit of a trendy style";
mes "^3131FFX Tornado Cut^000000";
mes "It's for adventurous people who like change.";
break;
case 4:
cutin "hair_f_27",4;
mes "[Prince Shammi]";
mes "Ah! I see you're only interested in the latest trends.";
mes "Straight from the runway is the ^3131FFOratio Cut^000000.";
mes "You'll be the envy of all of your friends with this hairstyle.";
break;
case 5:
mes "[Prince Shammi]";
mes "No? You didn't want";
mes "to take a look? Please,";
mes "you're an adventurer, I know";
mes "you can be more daring than";
mes "that! Be fashionably adventurous, you fashionable adventurer~";
emotion ET_THROB;
close;
}
}
}
close2;
cutin "",255;
end;
case 2:
if (BaseLevel < 60) {
mes "[Prince Shammi]";
mes "Oh, I'm so sorry, but";
mes "I can only perform my";
mes "services for clients that have";
mes "matured enough to find their";
mes "true inner beauty. But please";
mes "come back once you do, okay?";
close;
}
else if ((countitem(973) < 3) || (countitem(974) < 3) || (countitem(901) < 100) || (countitem(1094) < 100) || (countitem(1020) < 100) || (countitem(1060) < 100) || (countitem(7152) < 100) || (Zeny < 99800)) {
mes "[Prince Shammi]";
mes "If you've already decided";
mes "what hairstyle you'd like,";
mes "please have my service charge";
mes "ready, as well as the materials";
mes "I will need in performing this";
mes "service, okay? Please bring...";
next;
mes "[Prince Shammi]";
mes "^3355FF3 Counteragent^000000,";
mes "^3355FF3 Mixture^000000,";
mes "^3355FF100 Daenggie^000000,";
mes "^3355FF100 Short Daenggie^000000...";
next;
mes "[Prince Shammi]";
mes "^3355FF100 Black Hair^000000,";
mes "^3355FF100 Golden Hair^000000,";
mes "^3355FF100 Glossy Hair^000000";
mes "and ^3355FF99,800 zeny^000000.";
mes "Once you do that, I'll make";
mes "a miracle out of your hair!";
close;
}
mes "[Prince Shammi]";
mes "Alright, please choose";
mes "which hairstyle you wish";
mes "to have from numbers 20 to 25.";
mes "Here's a list of the style names just in case you need them~";
next;
mes "[Prince Shammi]";
if (Sex == SEX_MALE) {
mes "No. 20: Petite Style";
mes "No. 21: Executioner Style";
mes "No. 22: Prince Style";
mes "No. 23: Deviace Style";
mes "No. 24: Emergency Heal Perm";
mes "No. 25: Aura Blade Cut";
mes "No. 26: Power Swing and";
mes "No. 27: Renovatio Cut.";
}
else {
mes "No. 20: Spring Rabbit Style";
mes "No. 21: Harpy Style";
mes "No. 22: Medusa Style";
mes "No. 23: Isis Style";
mes "No. 24: Assumptio Perm";
mes "No. 25: Soul Changer Cut";
mes "No. 26: X Tornado Cut and";
mes "No. 27: Oratio Cut.";
}
next;
input .@input;
if (.@input == 0) {
mes "[Prince Shammi]";
mes "Oh...?";
mes "You decided to cancel?";
mes "Well, you know what's";
mes "best for you, I suppose.";
mes "Still, I'm so disappointed~";
close;
}
else if ((.@input < 20) || (.@input > 27)) {
mes "[Prince Shammi]";
mes "Dearie, please enter";
mes "a number from ''20'' to";
mes "''25,'' alright? Then I can";
mes "get right to work at making";
mes "you soooooooo beautiful!";
close;
}
else if (getlook(VAR_HEAD) == .@input) {
mes "[Prince Shammi]";
mes "Oh dear me, you're not";
mes "going to waste money for";
mes "the same hairstyle that you";
mes "have now, are you? You can";
mes "have someone else change";
mes "your hair color, you know.";
close;
}
else {
if (Sex == SEX_MALE)
cutin "hair_m_"+.@input+".BMP",4;
else
cutin "hair_f_"+.@input+".BMP",4;
mes "[Prince Shammi]";
mes "Oooh! Now, is this the";
mes "hairstyle that you wanted?";
mes "This is No. "+.@input+", by the way.";
next;
switch(select("Yes.:No.")) {
case 1:
if (getlook(VAR_HEADPALETTE) == 0) {
mes "[Prince Shammi]";
mes "Oh, Sweet Christmas,";
mes "I almost forgot! Would";
mes "you like me to dye your";
mes "hair, free of charge? It's";
mes "a part of my service, so";
mes "please choose a color~";
next;
switch(select("Red:Yellow:Purple:Orange:Green:Blue:White:Dark Brown")) {
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;
}
}
mes "[Prince Shammi]";
mes "Okay, let's get";
mes "started, shall we?";
mes "Keep your head still,";
mes "now. Yes, that's good...";
next;
mes "^3355FF*Snip snip*";
mes "*Rustle rustle*";
mes "*Clip clip clip clip*";
mes "*Bzzzzzzzzzzzzzzzzzzzz*^000000";
next;
set Zeny, Zeny-99800;
delitem 973,3; //Counteragent
delitem 974,3; //Mixture
delitem 901,100; //Danggie
delitem 1094,100; //Short_Daenggie
delitem 1020,100; //Long_Hair
delitem 1060,100; //Golden_Hair
delitem 7152,100; //Glossy_Hair
setlook VAR_HEAD,.@input;
setlook VAR_HEADPALETTE,.@headpalette;
mes "[Prince Shammi]";
mes "Well, we're all finished!";
mes "And my, oh my, you look even";
mes "more fabulous that I thought";
mes "you would! Oh, I can't believe";
if (Sex == SEX_MALE) {
mes "how tough and elegant you are~";
mes "So ruggedly manly and handsome!";
}
else {
mes "how graceful and elegant you";
mes "look! Absolutely gorgeous!";
}
emotion ET_CHUP;
next;
mes "[Prince Shammi]";
mes "You love your new";
mes "hair, don't you? Feel";
mes "free to come back anytime.";
mes "I'll make you the best looking";
mes "person in the entire world!";
emotion ET_BEST;
close;
case 2:
mes "[Prince Shammi]";
mes "Oh, did you forget which";
mes "hairstyle goes with which";
mes "number? By all means, please";
mes "check again! Find the one that";
mes "is perfect just for you, okay?";
close;
}
}
break;
case 3:
mes "[Prince Shammi]";
mes "Humm ? ";
mes "Maybe you don't understand";
mes "my futuristic styles.";
mes "Goodbye! ";
close;
}
}
//===== Old Changelog: =================================
//= 07/06/05 : Added 1st Version. [Muad_Dib]
//= Converted to rAthena format by Dr.Evil Fixed typos [Nexon]
//= 1.1 Removed Duplicates [Silent]
//============================================================

View File

@ -42,6 +42,8 @@ npc: npc/pre-re/kafras/kafras.txt
// -------------------------- Merchant --------------------------
npc: npc/pre-re/merchants/ammo_boxes.txt
npc: npc/pre-re/merchants/ammo_dealer.txt
npc: npc/pre-re/merchants/hair_dyer.txt
npc: npc/pre-re/merchants/hair_style.txt
npc: npc/pre-re/merchants/shops.txt
npc: npc/pre-re/merchants/socket_enchant2.txt

View File

@ -3,6 +3,7 @@
// --------------------------------------------------------------
// --------------------------- Cities ---------------------------
npc: npc/pre-re/warps/cities/alberta.txt
npc: npc/pre-re/warps/cities/einbroch.txt
npc: npc/pre-re/warps/cities/izlude.txt
npc: npc/pre-re/warps/cities/prontera.txt

View File

@ -0,0 +1,10 @@
//===== rAthena Script =======================================
//= Alberta City Portals
//===== Changelogs: ==========================================
//= 1.0 First Version. [JohnnyPlayy]
//============================================================
//= Portal - ( Rooms )
//============================================================
alberta,134,38,0 warp alb02 1,1,alberta_in,70,141
alberta_in,73,141,0 warp alb02-1 1,1,alberta,137,37

View File

@ -9,6 +9,7 @@
//-- Some questinfo condition may be inaccurate.
//===== Changelogs: ==========================================
//= 1.0 First version. [Capuche]
//= 1.1 Moving Hair Designer to Merchants. [JohnnyPlayy]
//============================================================
lasa_fild01,47,297,0 script #doint_evt01 HIDDEN_WARP_NPC,1,1,{
@ -1767,116 +1768,6 @@ lasagna,217,192,5 script Kittie#do_hint01 4_CAT_SAILOR1,{
close;
}
lasagna,134,113,3 script Hair Designer#dr 4_DR_F_02,{
mes "[Lonza]";
mes "If you're one of the trendsetting Dorams, watch what Lonza can do with her great scissors!";
next;
if (Class != Job_Summoner) {
mes "[Lonza]";
mes "Oh? I'm sorry, but my great scissors are not for anyone who demands it.";
mes "They're allowed only for the Doram.";
close;
}
switch( select( "Change hairstyle.", "Dye hair.", "Cancel" ) ) {
case 1:
mes "[Lonza]";
mes "I've lined up the attractive hairstyles that never go out of style. Will you take a look?";
next;
.@gender$ = Sex ? "m" : "f";
while( true ) {
.@i++;
.@i = .@i > 6 ? 1 : .@i;
cutin "hair_dr_" + .@gender$ + "_0" + .@i + ".bmp",4;
mes "[Lonza]";
mes "This is the " + callfunc("F_GetNumSuffix",.@i) + " hairdo. How do you like it?";
next;
switch( select( "Browse other styles.", "I'll take this.", "End of dialogue." ) ) {
case 1:
continue;
case 2:
mes "[Lonza]";
mes "So you picked the " + callfunc("F_GetNumSuffix",.@i) + " hairstyle. I like your choice.";
next;
mes "[Lonza]";
mes "But you need some preparations before you change your hairdo.";
next;
mes "[Lonza]";
mes "3 Counteragent,";
mes "3 Mixture,";
mes "100 Braided Hair,";
mes "100 Short Braids,";
mes "100 Long Hair,";
mes "100 Golden Hair,";
mes "100 Glossy Hair,";
next;
mes "[Lonza]";
mes "and 99,800 Zeny!";
next;
if (select( "It's all here.", "I'll get them all." ) == 2) {
mes "[Lonza]";
mes "Good! Keep it up! Run!";
close;
}
if (countitem(973) < 3 || countitem(974) < 3 || countitem(901) < 100 || countitem(1094) < 100 || countitem(1020) < 100 || countitem(1060) < 100 || countitem(7152) < 100 || Zeny < 99800) {
mes "[Lonza]";
mes "I can help you only when you bring me the materials. Will you check on your belongings again?";
close;
}
Zeny = Zeny - 99800;
delitem 973,3;// Counteragent
delitem 974,3;// Mixture
delitem 901,100;// Daenggie
delitem 1094,100;// Short Daenggie
delitem 1020,100;// Black Hair
delitem 1060,100;// Golden Hair
delitem 7152,100;// Glossy Hair
setlook LOOK_HAIR, .@i;
mes "~Snip, snip, snip~";
mes "~Snip, snip, snip~";
mes "~Snip, snip, snip~";
mes "~Whirring~";
next;
mes "[Lonza]";
mes "Wow! Amazing! Perfect! Now, go ahead and show off your lovely look to others! Come on!";
close;
case 3:
mes "[Lonza]";
mes "Goodbye then. Don't make me and my great scissors wait too long for you to return.";
close;
}
}
case 2:
mes "[Lonza]";
mes "Trendsetters know the right color for their hair, too!";
next;
mes "[Lonza]";
mes "Bring me the dye to have your hair dyed and 1,000 Zeny and I'll dye your hair so beautifully that even fashion stars would go home crying.";
next;
mes "^FF0000[!!Caution!!]^000000";
mes "^FF0000The Dorams inherently have the shortest hair. Even if you proceed with the dialogue, therefore, nothing will happen.^000000";
next;
setarray .@dye_id[0],976,981,980,979;
.@s = select( "Yellow", "Purple", "Orange", "Green" ) - 1;
if (countitem(.@dye_id[.@s]) < 1) {
mes "[Lonza]";
mes "How can I dye your hair without the dye?";
close;
}
delitem .@dye_id[.@s],1;
Zeny = Zeny - 1000;
// nothing happen
mes "[Lonza]";
mes "It'll be done in a jiff!";
mes "What a lovely color! Why don't you show it off to your friends?";
close;
case 3:
mes "[Lonza]";
mes "It feels as if you want someone to take care of your whole day. don't you have one of those days?";
mes "Come looking for Lonza anytime you want to be freshened up for a cooler look!";
close;
}
}
lasagna,260,134,3 script Rasmus#dorcon01 4_CAT_SAILOR3,{
npctalk "Red yarn will take you to the place you want to go, and the yellow road will take you home. don't forget. If you get lost, follow the red yarn.", "", bc_self;
end;

View File

@ -0,0 +1,117 @@
//===== rAthena Script =======================================
//= Stylist Extension - (Style UI)
//===== Changelogs: ==========================================
//= 1.0 First Version. [JohnnyPlayy]
//===== Description: =========================================
// Texts from this script were translated according to KRO
//============================================================
//= Stylist of Alberta
//===================================================
alberta_in,55,142,7 script Stylist#alberta 4_F_02,{
mes "[Sweet Veronica]";
mes "Welcome to Veronica Beauty Salon, reborn as a world-class stylist. Hhhi.";
next;
switch(select("Change your style:End conversation")) {
case 1:
close2;
openstylist();
end;
case 2:
next;
mes "[Sweet Veronica]";
mes "Everyone has the right to be beautiful... I hope you find a style that suits you.";
close;
}
}
//= Stylist of Prontera
//===================================================
prt_in,243,168,4 script Stylist#prontera 4_F_02,{
mes "[Jovovich]";
mes "Welcome. I'm Jovovich, a famous stylist from Prontera. How can I help you?";
next;
switch(select("Change your style:End conversation")) {
case 1:
close2;
openstylist();
end;
case 2:
mes "[Jovovich]";
mes "Please visit us again~";
close;
}
}
//= Stylist of Lighthalzen
//===================================================
lhz_in02,100,143,4 script Stylist#lhz 2_M_DYEINGER,{
mes "[Prince Shami]";
mes "I'm back as one of the greatest stylists in the world. I'm Prince Shami and a professional stylist and I have to say I've been blessed by this great talent! <3";
next;
switch(select("Change your style:End conversation")) {
case 1:
close2;
openstylist();
end;
case 2:
mes "[Prince Shami]";
mes "Are you saying you don't like this stylish? How is this possible!";
close;
}
}
//= Stylist of Lasagna
//===================================================
lasagna,134,113,3 script Stylist#lasagna 4_DR_F_02,{
mes "[Lonza]";
mes "If you're a Doram who lives and dies for fashion, trust me. To the beat of the music~";
next;
switch(select("Change your style:End conversation")) {
case 1:
close2;
openstylist();
end;
case 2:
mes "[Lonza]";
mes "There is no such thing as bad weather, right? One day I want you to trust me.";
mes "I'm Lonza and I can give you an amazing change that will make you stylish, so come and visit me anytime.";
close;
}
}
//= Stylist of Rachel
//===================================================
ra_in01,186,148,5 script Stylist#rachel 4_F_MASK1,{
mes "[Isop]";
mes "Hehe, Welcome. I'm Isop, the stylist of the <Shook Shook-Store>.";
next;
switch(select("Change your style:End conversation")) {
case 1:
close2;
openstylist();
end;
case 2:
mes "[Isop]";
mes "Anything you want to cut?";
close;
}
}
//= Stylist of Yuno
//===================================================
yuno_in04,186,21,1 script Stylist#yuno 4_M_BARBER,{
mes "[Maxi]";
mes "Nice to meet you my guest. Would you like to leave your transformation to Maxi, the best stylist in Schwarzwald?";
next;
switch(select("Change your style:End conversation")) {
case 1:
close2;
openstylist();
end;
case 2:
mes "[Maxi]";
mes "Come back anytime.";
close;
}
}

View File

@ -117,6 +117,7 @@ npc: npc/re/merchants/enchan_mal.txt
npc: npc/re/merchants/enchan_mora.txt
npc: npc/re/merchants/enchan_rockridge.txt
npc: npc/re/merchants/enchan_verus.txt
npc: npc/re/merchants/Extended_Stylist.txt
npc: npc/re/merchants/flute.txt
npc: npc/re/merchants/gld_mission_exchange.txt
npc: npc/re/merchants/guild_warehouse.txt

View File

@ -3,6 +3,7 @@
// --------------------------------------------------------------
// --------------------------- Cities ---------------------------
npc: npc/re/warps/cities/alberta.txt
npc: npc/re/warps/cities/brasilis.txt
npc: npc/re/warps/cities/dewata.txt
npc: npc/re/warps/cities/dicastes.txt

View File

@ -0,0 +1,10 @@
//===== rAthena Script =======================================
//= Alberta City Portals
//===== Changelogs: ==========================================
//= 1.0 First Version. [JohnnyPlayy]
//============================================================
//= Portal - ( Stylist )
//============================================================
alberta,45,145,0 warp Room_Entrance#alberta-01 1,1,alberta_in,69,141
alberta_in,73,142,0 warp Room_Exit#alberta-01 1,1,alberta,48,145

View File

@ -16,7 +16,6 @@
//Alberta City
alberta,15,234,0 warp alb001 2,5,pay_fild03,388,63
alberta,117,38,0 warp alb01 2,2,alberta_in,180,30
alberta,134,38,0 warp alb02 1,1,alberta_in,70,141
alberta,170,170,0 warp alb03 1,1,alb_ship,26,168
alberta,178,165,0 warp alb04 1,2,alb_ship,39,163
alberta,209,173,0 warp alb05 1,2,alb_ship,162,171
@ -34,7 +33,6 @@ alberta_in,189,89,0 warp alb09-1 2,2,alberta,102,153
alberta_in,114,130,0 warp alb08-1 2,2,alberta,93,201
alberta_in,14,141,0 warp alb07-1 2,3,alberta,61,233
alberta_in,180,34,0 warp alb01-1 2,2,alberta,117,42
alberta_in,73,141,0 warp alb02-1 2,3,alberta,137,37
alberta_in,78,44,0 warp alb06-1 2,5,alberta,37,41
alberta_in,125,161,0 warp alb10-1 2,2,alberta,102,222
alberta_in,114,183,0 warp alb11 1,1,alberta_in,148,186