diff options
Diffstat (limited to 'world/map/npc/functions/barber.txt')
-rw-r--r-- | world/map/npc/functions/barber.txt | 250 |
1 files changed, 0 insertions, 250 deletions
diff --git a/world/map/npc/functions/barber.txt b/world/map/npc/functions/barber.txt deleted file mode 100644 index dbc7614b..00000000 --- a/world/map/npc/functions/barber.txt +++ /dev/null @@ -1,250 +0,0 @@ -// The Barber script has been around since before the repository split -// so it's hard to figure out who wrote it. - -// o11c updated it according to new scripting standards while adding pink. -// ... and added the code that shows your old color/style. - -// Note: there is a soft limit of 15 colors per classes and 20 styles (0-19) -// This is the number that can be set when creating a character -// or using GM commands, but scripts (such as this one) can set -// any value 0-255 - -function|script|Barber -{ - if (getequipid(equip_head) == 647) - goto L_Debug; - callfunc "getHeadStyles"; - set @hairOpts, 0; - set @colorOpts, 0; - set @menu, 0; - goto L_Main; - -L_MainClear: - clear; - goto L_Main; - -L_Main: - set @style, getlook(LOOK_HAIR_STYLE); - set @color, getlook(LOOK_HAIR_COLOR); - set @style$, "Unknown"; - set @color$, "Unknown"; - - if (@style >= 1 && @style <= 20) - set @style$, @HairStyles$[(@style - 1)]; - - if (@color == ((HC_WHITE - Class) + 1)) - set @color$, "Shocked White"; - set @color, (@color - (15 * (Class - 1))); - if (@color >= 0 && @color <= 15) - set @color$, @HairColors$[@color]; - - if (Sex == 0) set @gender$, " female"; - elif (Sex == 1) set @gender$, " male"; - elif (Class == 3 || Class == 6) set @gender$, "n"; - else set @gender$, ""; - - mes "You are a" + @gender$ + " " + @species$ + "."; - mes "Your current style is " + @style$ + " and your current color is " + @color$ + "."; - set @style$, ""; - set @color$, ""; - menu - "Change my style", L_Style, - "Change my color", L_Color, - "Change my gender", L_Gender, - "Change my species", L_Species, - "Nah, I'm fine", L_Done; - -L_Gender: - menu - "Female.", L_Female, - "Male.", L_Male, - "Non-binary.", L_NonBinary, - "Nah, I'm fine", L_MainClear; - -L_Female: - set Sex, 0; - goto L_MainClear; - -L_Male: - set Sex, 1; - goto L_MainClear; - -L_NonBinary: - set Sex, 3; - goto L_MainClear; - -L_Species: - if (countitem("SkeletonCharm") >= 1) - menu - "Talpan", L_Species_next, - "Tritan", L_Species_next, - "Ifriton", L_Species_next, - //"Gispaan", L_Species_next, - //"Sparron", L_Species_next, - "Undead", L_Species_next, - "Nah, I'm fine", L_MainClear; - //else - menu - "Talpan", L_Species_next, - "Tritan", L_Species_next, - "Ifriton", L_Species_next, - //"Gispaan", L_Species_next, - //"Sparron", L_Species_next, - "Nah, I'm fine", L_MainClear; - -L_Species_next: - if (@menu == 4) set @menu, 6; - set Class, @menu; - callfunc "fixHeadStyles"; - goto L_MainClear; - -L_Style: - if(!@hairOpts) set @HairStyles$[getarraysize(@HairStyles$)], "Surprise me"; - if(!@hairOpts) set @HairStyles$[getarraysize(@HairStyles$)], "Nah, I'm fine"; - if(!@hairOpts) set @hairOpts, 1; - menu - @HairStyles$[0], L_MenuItems, - @HairStyles$[1], L_MenuItems, - @HairStyles$[2], L_MenuItems, - @HairStyles$[3], L_MenuItems, - @HairStyles$[4], L_MenuItems, - @HairStyles$[5], L_MenuItems, - @HairStyles$[6], L_MenuItems, - @HairStyles$[7], L_MenuItems, - @HairStyles$[8], L_MenuItems, - @HairStyles$[9], L_MenuItems, - @HairStyles$[10], L_MenuItems, - @HairStyles$[11], L_MenuItems, - @HairStyles$[12], L_MenuItems, - @HairStyles$[13], L_MenuItems, - @HairStyles$[14], L_MenuItems, - @HairStyles$[15], L_MenuItems, - @HairStyles$[16], L_MenuItems, - @HairStyles$[17], L_MenuItems, - @HairStyles$[18], L_MenuItems, - @HairStyles$[19], L_MenuItems, - @HairStyles$[20], L_MenuItems, - @HairStyles$[21], L_MenuItems; - -L_MenuItems: - if(@menu == (getarraysize(@HairStyles$) - 1)) goto L_RandomStyle; - if(@menu >= getarraysize(@HairStyles$)) goto L_MainClear; - setlook LOOK_HAIR_STYLE, @menu; - goto L_MainClear; - -L_RandomStyle: - setarray @randomStyle[0], rand(1, (getarraysize(@HairStyles$) - 2)); - setarray @randomStyle[1], @randomStyle[1] + 1; // infinite loop prevention - if(@randomStyle[0] == @style && @randomStyle[1] < 15) goto L_RandomStyle; - setlook LOOK_HAIR_STYLE, @randomStyle[0]; - setarray @randomStyle[1], 0; - menu - "Surprise me once again", L_RandomStyle, - "Go back", L_MainClear, - "Goodbye", L_Done; - -L_Color: - if(!@colorOpts) set @HairColors$[getarraysize(@HairColors$)], "Surprise me"; - if(!@colorOpts) set @HairColors$[getarraysize(@HairColors$)], "Nah, I'm fine"; - if(!@colorOpts) set @colorOpts, 1; - menu - @HairColors$[0], L_MenuItems1, - @HairColors$[1], L_MenuItems1, - @HairColors$[2], L_MenuItems1, - @HairColors$[3], L_MenuItems1, - @HairColors$[4], L_MenuItems1, - @HairColors$[5], L_MenuItems1, - @HairColors$[6], L_MenuItems1, - @HairColors$[7], L_MenuItems1, - @HairColors$[8], L_MenuItems1, - @HairColors$[9], L_MenuItems1, - @HairColors$[10], L_MenuItems1, - @HairColors$[11], L_MenuItems1, - @HairColors$[12], L_MenuItems1, - @HairColors$[13], L_MenuItems1, - @HairColors$[14], L_MenuItems1, - @HairColors$[15], L_MenuItems1, - @HairColors$[16], L_MenuItems1; - -L_MenuItems1: - if(@menu == (getarraysize(@HairColors$) - 1)) goto L_RandomColor; - if(@menu >= getarraysize(@HairColors$)) goto L_MainClear; - setlook LOOK_HAIR_COLOR, ((@menu - 1) + (15 * (Class - 1))); - goto L_MainClear; - -L_RandomColor: - setarray @randomColor[0], rand((15 * (Class - 1)), ((getarraysize(@HairColors$) - 3) + (15 * (Class - 1)))); - setarray @randomColor[1], @randomColor[1] + 1; - if(@randomColor[0] == @color && @randomColor[1] < 15) goto L_RandomColor; - setlook LOOK_HAIR_COLOR, @randomColor[0]; - setarray @randomColor[1], 0; - menu - "Surprise me once again", L_RandomColor, - "Go back", L_MainClear, - "Goodbye", L_Done; - -L_Done: - // cleanup - set @menu, 0; - set @style, 0; - set @color, 0; - cleararray @HairStyles$, "", getarraysize(@HairStyles$); - cleararray @HairColors$, "", getarraysize(@HairColors$); - set @hairOpts, 0; - set @colorOpts, 0; - return; - -L_Debug: - npcaction 9; // FIXME: this should become a builtin (ie `clear`) - mes "Class: " + Class; - mes "Style: " + getlook(LOOK_HAIR_STYLE); - mes "Color: " + getlook(LOOK_HAIR_COLOR); - mes "Gender: " + Sex; - menu - "edit| Set Class", L_DebugClass, - "edit| Set Style", L_DebugStyle, - "edit| Set Color", L_DebugColor, - "edit| Set Gender", L_DebugGender, - "toggle| Simulate logout", L_DebugLogout, - "Close", L_Done; - -L_DebugLogout: - callfunc "fixHeadStyles"; - goto L_Debug; - -L_DebugClass: - set @dbg_class, 0; - mes "input class (0-32767)"; - input @dbg_class; - if (@dbg_class >= 0 && @dbg_class <= 32767) - set Class, @dbg_class; - set @dbg_class, 0; - goto L_Debug; - -L_DebugStyle: - set @dbg_style, 0; - mes "input style (0-255)"; - input @dbg_style; - if (@dbg_style >= 0 && @dbg_style <= 255) - setlook LOOK_HAIR_STYLE, @dbg_style; - set @dbg_style, 0; - goto L_Debug; - -L_DebugColor: - set @dbg_color, 0; - mes "input color (0-255)"; - input @dbg_color; - if (@dbg_color >= 0 && @dbg_color <= 255) - setlook LOOK_HAIR_COLOR, @dbg_color; - set @dbg_color, 0; - goto L_Debug; - -L_DebugGender: - set @dbg_gender, 0; - mes "input gender (0-3)"; - input @dbg_gender; - if (@dbg_gender >= 0 && @dbg_gender <= 3) - set Sex, @dbg_gender; - set @dbg_gender, 0; - goto L_Debug; -} |