// Evol scripts. // Authors: // omatt // Reid // Travolta // Description: // Function for supporting barber NPC. function script BarberSayStyle { .@get_color = getlook(LOOK_HAIR_COLOR); .@get_look = getlook(LOOK_HAIR); .@style_name$ = $@hairstyle$[.@get_look]; .@color_name$ = $@haircolor$[.@get_color]; switch (getarg(0)) { case 1: message strcharinfo(0), l("@@", .@style_name$); break; case 2: message strcharinfo(0), l("@@", .@color_name$); break; case 3: speech S_FIRST_BLANK_LINE | S_LAST_NEXT, l("Your hairstyle is @@ and its color is @@.", .@style_name$, .@color_name$); break; } return; } function script BarberChangeStyle { do { .@hairsizearray = getarraysize($@hairstyle$); .@get_look = getlook(LOOK_HAIR); // Here .@i starts from 1 because hairstyle 0 doesn't exist. for (.@i = 1; .@i < .@hairsizearray; .@i++) { .@menustr$ = .@menustr$ + rif(.@get_look != .@i, l("" + $@hairstyle$[.@i] + "")) + ":"; } .@menustr$ = .@menustr$ + l("I'm fine for now, thank you."); .@idx = select(l("As you want!"),.@menustr$); if (.@idx == .@i + 1) return; // last choice to quit dialog switch (@menu) { case 1: do { // here "- 1" because i don't use the 0 of array .@rand_hair = rand(1,(.@hairsizearray - 1)); } while (.@rand_hair == getlook(LOOK_HAIR)); setlook LOOK_HAIR, .@rand_hair; setlook LOOK_HAIR_COLOR, getlook(LOOK_HAIR_COLOR); BarberSayStyle 1; break; default: // and here "- 1" because the first choice is taken by the random setlook LOOK_HAIR, (@menu - 1); setlook LOOK_HAIR_COLOR, getlook(LOOK_HAIR_COLOR); break; } .@menustr$ = ""; } while (1); } function script BarberChangeColor { do { .@get_look = getlook(LOOK_HAIR_COLOR); .@hairsizearray = getarraysize($@haircolor$); for (.@i = 0; .@i < .@hairsizearray; .@i++) { .@menustr$ = .@menustr$ + rif(.@get_look != .@i, l("" + $@haircolor$[.@i] + "")) + ":"; } .@menustr$ = l("Surprise me!") + ":" + .@menustr$ + l("I'm fine for now, thank you."); .@idx = select(.@menustr$); if (.@idx == .@i + 2) return; switch (@menu) { case 1: do { .@rand_color = rand(0, .@hairsizearray); } while (.@rand_color == getlook(LOOK_HAIR_COLOR)); setlook LOOK_HAIR_COLOR, .@rand_color; BarberSayStyle 2; break; default: setlook LOOK_HAIR_COLOR, (@menu - 2); break; } .@menustr$ = ""; } while (1); return; }