diff options
-rw-r--r-- | world/map/npc/functions/barber.txt | 20 | ||||
-rw-r--r-- | world/map/npc/functions/headstyles.txt | 21 | ||||
-rw-r--r-- | world/map/npc/items/mirror.txt | 4 |
3 files changed, 26 insertions, 19 deletions
diff --git a/world/map/npc/functions/barber.txt b/world/map/npc/functions/barber.txt index 0f9b4ffb..58fee175 100644 --- a/world/map/npc/functions/barber.txt +++ b/world/map/npc/functions/barber.txt @@ -19,9 +19,11 @@ L_Main: set @color, getlook(LOOK_HAIR_COLOR); set @style$, "Unknown"; set @color$, "Unknown"; - if (@style >= 0 && @style < 20) - set @style$, @HairStyles$[@style]; - if (@color >= 0 && @color < 120) + if (@style >= 1 && @style <= 20) + set @style$, @HairStyles$[(@style - 1)]; + if (Class > 1) + set @color, (@color - (15 * Class)); + if (@color >= 0 && @color <= 15) set @color$, @HairColors$[@color]; if (@color == 127) set @color$, "Shocked White"; @@ -66,15 +68,15 @@ L_Style: @HairStyles$[25], L_MenuItems; L_MenuItems: - if (@menu - 1 == @style) + if (@menu == @style) goto L_SameStyle; if(@menu == (getarraysize(@HairStyles$) - 1)) goto L_RandomStyle; if(@menu == getarraysize(@HairStyles$)) goto L_Done; - setlook LOOK_HAIR_STYLE, @menu - 1; + setlook LOOK_HAIR_STYLE, @menu; goto L_Main; L_RandomStyle: - set @randomStyle, rand(0, (getarraysize(@HairStyles$) -4)); + set @randomStyle, rand(1, (getarraysize(@HairStyles$) -4)); if(@randomStyle == @style) goto L_RandomStyle; setlook LOOK_HAIR_STYLE, @randomStyle; menu @@ -87,7 +89,7 @@ L_SameStyle: goto L_Main; L_Color: - if(@style == Class) goto L_SameColor; // first headstyle of any class is bald + if(@style == @BaldStyle) goto L_SameColor; // last headstyle of any class is bald if(!@colorOpts) set @HairColors$[getarraysize(@HairColors$)], "Surprise me"; if(!@colorOpts) set @HairColors$[getarraysize(@HairColors$)], "Nah, I'm fine"; if(!@colorOpts) set @colorOpts, 1; @@ -115,11 +117,11 @@ L_MenuItems1: goto L_SameColor; if(@menu == (getarraysize(@HairColors$) - 1)) goto L_RandomColor; if(@menu == getarraysize(@HairColors$)) goto L_Done; - setlook LOOK_HAIR_COLOR, ((@menu - 1) + (15 * Class)); + setlook LOOK_HAIR_COLOR, ((@menu - 1) + (15 * (Class - 1))); goto L_Main; L_RandomColor: - set @randomColor, rand((15 * Class), ((getarraysize(@HairColors$) -4) + (15 * Class))); + set @randomColor, rand((15 * (Class - 1)), ((getarraysize(@HairColors$) -4) + (15 * (Class - 1)))); if(@randomColor == @color) goto L_RandomColor; setlook LOOK_HAIR_COLOR, @randomColor; menu diff --git a/world/map/npc/functions/headstyles.txt b/world/map/npc/functions/headstyles.txt index 989bef83..91ed2cfe 100644 --- a/world/map/npc/functions/headstyles.txt +++ b/world/map/npc/functions/headstyles.txt @@ -5,15 +5,20 @@ function|script|getHeadStyles|, { set @HairStyles$, 0; set @HairColors$, 0; - set @BaseClass, 0; // this is the default class + set @BaseClass, 1; // this is the default class cleararray @HairStyles$, "", getarraysize(@HairStyles$); cleararray @HairColors$, "", getarraysize(@HairColors$); cleararray @ValidClasses, "", getarraysize(@ValidClasses); - setarray @ValidClasses, 0; // add new classes here + setarray @ValidClasses, 1; // add new classes here set @loop, 0; goto L_LoopValid; - L_LoopValid: + L_Janitor: + set @BaldStyle, getarraysize(@HairStyles$); // we set it as a variable because we use it with the barber + if(getlook(LOOK_HAIR_STYLE) < 1) setlook LOOK_HAIR_STYLE, @BaldStyle; // the last head of any race has no hair/fins/whatever + return; + + L_LoopValid: // here we fix non-existant classes if(@ValidClasses[@loop] == Class) goto L_ValidClass; set @loop, (@loop + 1); if(@loop >= getarraysize(@ValidClasses)) goto L_FixClass; @@ -24,18 +29,18 @@ function|script|getHeadStyles|, goto L_ValidClass; L_ValidClass: - if(Class == 0) + if(Class == 1) setarray @HairStyles$, // TALPONIAN (human) - "Bald", "Flat ponytail", "Bowl cut", "Combed back", "Emo", "Mohawk", + "Flat ponytail", "Bowl cut", "Combed back", "Emo", "Mohawk", "Pompadour", "Center parting/Short and slick", "Long and slick", "Short and curly", "Pigtails", "Long and curly", "Parted", "Perky ponytail", "Wave", "Mane", "Bun", "Shoulder Length Flick", - "Fizzy", "Long and Clipped"; - if(Class == 0) + "Fizzy", "Long and Clipped", "Bald"; + if(Class == 1) setarray @HairColors$, // TALPONIAN (human) "Brunette", "Green", "Dark red", "Light purple", "Gray", "Blonde", "Teal", "Light red", "Blue", "Dark purple", "Black", "Pink", "Brown";//, "(free slot)", "(free slot)"; // adding a new species is as simple as adding another if(Class == X) and adding the class to @ValidClasses - return; + goto L_Janitor; } diff --git a/world/map/npc/items/mirror.txt b/world/map/npc/items/mirror.txt index fc2ca69b..82aeb7a7 100644 --- a/world/map/npc/items/mirror.txt +++ b/world/map/npc/items/mirror.txt @@ -4,8 +4,8 @@ function|script|useMirror|, goto L_Rand; L_Rand: - set @style, rand(0,(getarraysize(@HairStyles$) -2)); - set @color, rand((15 * Class),((getarraysize(@HairColors$) -2) + (15 * Class))); + set @style, rand(1,(getarraysize(@HairStyles$) -2)); + set @color, rand((15 * (Class - 1)),((getarraysize(@HairColors$) -2) + (15 * (Class - 1)))); if((getlook(LOOK_HAIR_STYLE) == @style) || (getlook(LOOK_HAIR_COLOR) == @color)) goto L_Rand; goto L_Proceed; |