From 86fe713269e28ea8d042dc6f11279ffd8ebe08b4 Mon Sep 17 00:00:00 2001 From: gumi Date: Fri, 9 Mar 2018 14:32:42 -0500 Subject: HAIR ON SKELS!!!11 --- world/map/db/item_db_generic.txt | 1 + world/map/db/item_db_trinket.txt | 1 - world/map/npc/009-2/selim.txt | 2 +- world/map/npc/functions/barber.txt | 91 ++++++++++++++++++---------------- world/map/npc/functions/headstyles.txt | 20 ++++++++ 5 files changed, 70 insertions(+), 45 deletions(-) diff --git a/world/map/db/item_db_generic.txt b/world/map/db/item_db_generic.txt index 7aefbc31..5b9903e9 100644 --- a/world/map/db/item_db_generic.txt +++ b/world/map/db/item_db_generic.txt @@ -233,4 +233,5 @@ 5124, BloodInk, 3, 10, 10, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} 5125, UnderworldKey, 3, 10, 10, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} 5127, JarofOwnBlood, 3, 200, 100, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} +1197, SkeletonCharm, 3, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, {}, {} //ID, Name___________________, Type, Price, Sell, Weight, ATK, DEF, Range, Mbonus, Slot, Gender, Loc, wLV, eLV, View, {UseScript}, {EquipScript} diff --git a/world/map/db/item_db_trinket.txt b/world/map/db/item_db_trinket.txt index 7e1f499f..263e61d1 100644 --- a/world/map/db/item_db_trinket.txt +++ b/world/map/db/item_db_trinket.txt @@ -9,7 +9,6 @@ 832, GoldenFourLeafAmulet, 5, 40000, 4000, 10, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0, {}, {bonus bLuk, 4;} 865, Grimoire, 5, 5000, 2500, 100, 0, 0, 0, 5, 0, 2, 8, 0, 0, 0, {}, {bonus bMaxSP, 30;} 879, HeartOfIsis, 5, 70000, 35000, 40, 0, 0, 0, 0, 0, 2, 8, 0, 85, 0, {}, {bonus bMaxHPrate, 15; bonus bHPrecovRate, 65;} -1197, SkeletonCharm, 5, 0, 0, 10, 0, 0, 0, 0, 0, 2, 8, 0, 0, 0, {}, {} 1244, DarkTalisman, 5, 0, 0, 0, 0, 30, 0, 100, 0, 2, 8, 0, 0, 0, {}, {set @minLvl, 1;callfunc "RestrictedItem";} 4008, DiamondRing, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bVit, 1;} 4009, RubyRing, 5, 5000, 2500, 1, 0, 0, 0, 0, 0, 2, 128, 0, 0, 0, {}, {bonus bStr, 1;} diff --git a/world/map/npc/009-2/selim.txt b/world/map/npc/009-2/selim.txt index 708b2e13..22c4bedf 100644 --- a/world/map/npc/009-2/selim.txt +++ b/world/map/npc/009-2/selim.txt @@ -16,7 +16,7 @@ L_Main: L_barber: callfunc "Barber"; - goto L_Main; + close; L_ask_bleach: mes "[Selim]"; diff --git a/world/map/npc/functions/barber.txt b/world/map/npc/functions/barber.txt index 6bc97b75..dbc7614b 100644 --- a/world/map/npc/functions/barber.txt +++ b/world/map/npc/functions/barber.txt @@ -14,6 +14,13 @@ 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: @@ -21,13 +28,22 @@ L_Main: 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$, ""; @@ -43,43 +59,44 @@ L_Gender: "Female.", L_Female, "Male.", L_Male, "Non-binary.", L_NonBinary, - "Nah, I'm fine", L_Done; + "Nah, I'm fine", L_MainClear; L_Female: - set @sex, 0; - goto L_Change; + set Sex, 0; + goto L_MainClear; L_Male: - set @sex, 1; - goto L_Change; + set Sex, 1; + goto L_MainClear; L_NonBinary: - set @sex, 3; - goto L_Change; - -L_Change: - if (Sex == @sex) - goto L_Already_Change; - set Sex, @sex; - return; - -L_Already_Change: - mes "\"Umm, you are that gender already.\""; - return; + set Sex, 3; + goto L_MainClear; L_Species: - 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_Done; + 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"; - return; + goto L_MainClear; L_Style: if(!@hairOpts) set @HairStyles$[getarraysize(@HairStyles$)], "Surprise me"; @@ -110,12 +127,10 @@ L_Style: @HairStyles$[21], L_MenuItems; L_MenuItems: - if (@menu == @style) - goto L_SameStyle; if(@menu == (getarraysize(@HairStyles$) - 1)) goto L_RandomStyle; - if(@menu >= getarraysize(@HairStyles$)) goto L_Done; + if(@menu >= getarraysize(@HairStyles$)) goto L_MainClear; setlook LOOK_HAIR_STYLE, @menu; - goto L_Main; + goto L_MainClear; L_RandomStyle: setarray @randomStyle[0], rand(1, (getarraysize(@HairStyles$) - 2)); @@ -125,13 +140,9 @@ L_RandomStyle: setarray @randomStyle[1], 0; menu "Surprise me once again", L_RandomStyle, - "Go back", L_Main, + "Go back", L_MainClear, "Goodbye", L_Done; -L_SameStyle: - mes "Your hair already has that style."; - goto L_Main; - L_Color: if(!@colorOpts) set @HairColors$[getarraysize(@HairColors$)], "Surprise me"; if(!@colorOpts) set @HairColors$[getarraysize(@HairColors$)], "Nah, I'm fine"; @@ -156,12 +167,10 @@ L_Color: @HairColors$[16], L_MenuItems1; L_MenuItems1: - if (@menu - 1 == @color) - goto L_SameColor; if(@menu == (getarraysize(@HairColors$) - 1)) goto L_RandomColor; - if(@menu >= getarraysize(@HairColors$)) goto L_Done; + if(@menu >= getarraysize(@HairColors$)) goto L_MainClear; setlook LOOK_HAIR_COLOR, ((@menu - 1) + (15 * (Class - 1))); - goto L_Main; + goto L_MainClear; L_RandomColor: setarray @randomColor[0], rand((15 * (Class - 1)), ((getarraysize(@HairColors$) - 3) + (15 * (Class - 1)))); @@ -171,13 +180,9 @@ L_RandomColor: setarray @randomColor[1], 0; menu "Surprise me once again", L_RandomColor, - "Go back", L_Main, + "Go back", L_MainClear, "Goodbye", L_Done; -L_SameColor: - mes "You already have that color."; - goto L_Main; - L_Done: // cleanup set @menu, 0; diff --git a/world/map/npc/functions/headstyles.txt b/world/map/npc/functions/headstyles.txt index cd775eea..5369be34 100644 --- a/world/map/npc/functions/headstyles.txt +++ b/world/map/npc/functions/headstyles.txt @@ -33,10 +33,12 @@ function|script|getHeadStyles elif (Class == 3) goto L_Ifriton; elif (Class == 4) goto L_Gispaan; elif (Class == 5) goto L_Sparron; + elif (Class == 6) goto L_Headless; else set Class, 1; // we can not style custom classes, so reset when using the barber goto L_Talpan; L_Talpan: + set @species$, "Talpan"; setarray @HairStyles$[0], "Bald", "Flat ponytail", "Bowl cut", "Combed back", "Emo", "Mohawk", "Pompadour", "Center parting/Short and slick", "Long and slick", @@ -49,7 +51,22 @@ L_Talpan: "Brown";//, "(free slot)", "(free slot)"; return; +L_Headless: + if (Class == 6) set @species$, "Undead"; + setarray @HairStyles$[0], + "Plain", "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"; + setarray @HairColors$[0], + "Brunette", "Green", "Dark red", "Light purple", "Gray", "Blonde", + "Teal", "Light red", "Blue", "Dark purple", "Black", "Pink", + "Brown";//, "(free slot)", "(free slot)"; + return; + L_Tritan: + set @species$, "Tritan"; setarray @HairStyles$[0], "Finless", "Mohawk", "Dorsal", "Translucid", "Spiky", "Dual dorsal", "Intricate", "Lateral"; @@ -58,6 +75,7 @@ L_Tritan: return; L_Gispaan: + set @species$, "Gispaan"; setarray @HairStyles$[0], "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", @@ -70,6 +88,7 @@ L_Gispaan: return; L_Sparron: + set @species$, "Sparron"; setarray @HairStyles$[0], "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", @@ -82,6 +101,7 @@ L_Sparron: return; L_Ifriton: + set @species$, "Ifriton"; setarray @HairStyles$[0], "Plain", "Horny", "Kinky", "Fiendish", "Modest", "Spiky"; -- cgit v1.2.3-70-g09d2