// This NPC makes gem powders out of gemstones // Authors: Ali-G, enchilado, Jenalya 018-2.gat,85,23,0 script Malek 109,{ set @MIN_GEM_AMOUNT, 7; if (Inspector == 10) goto L_NohMask; mes "[Malek]"; mes "\"Hi, can I help you at all?\""; if (FLAGS & FLAG_TOWEL_HELPED) menu "I'm looking for someone able to make gem powder.", L_GemPowder, "I was just having a look, have a nice day.", L_abort; menu "I was just having a look, have a nice day.", L_abort; L_NohMask: mes "[Malek]"; mes "\"Hi, can I help you at all?\""; if (FLAGS & FLAG_TOWEL_HELPED) menu "I'm looking for someone able to make gem powder.", L_GemPowder, "I was just having a look, have a nice day.", L_abort, "The inspector sent me here to investigate.", L_Investigation; menu "I was just having a look, have a nice day.", L_abort, "The inspector sent me here to investigate.", L_Investigation; L_Investigation: set Inspector, 11; mes "\"Yeah, we did hear a commotion. We thought we heard someone go down to the basement, but we checked the whole place over and didn't see anything out of the ordinary.\""; close; L_GemPowder: mes "[Malek]"; mes "\"My father taught me how to make that sort of powder. Put the gem on a firm surface, hold your pickaxe tight and whack that gem hard. It'll be crushed into powder pretty soon if you keep at it.\""; mes "\"Do you want me to make any for you?\""; menu "Yes, I really need some.", L_GemPowderStart, "Actually, I don't want anything. Have a nice day.", L_abort; L_GemPowderStart: mes "[Malek]"; mes "\"Well, I can do that. Bring me a gem and I'll make you some powder - hope you don't mind if I keep a little as payment!\""; menu "I've got some gems.", L_Check_Gems, "I'll be back with a gem soon.", L_abort, "Actually, I prefer my gems whole. Thanks anyway.", L_abort; L_Check_Gems: mes "[Malek]"; mes "\"Which gem do you want me to powder for you?\""; next; setarray @menuitems$, "", "", "", "", "", "", ""; set @c, 0; L_Check_Diamond: if (countitem("GemRawWhite") < 1) goto L_Check_Ruby; set @menuitems$[@c], "A diamond."; set @menuid[@c], 0; set @c, @c + 1; L_Check_Ruby: if (countitem("GemRawRed") < 1) goto L_Check_Emerald; set @menuitems$[@c], "A ruby."; set @menuid[@c], 1; set @c, @c + 1; L_Check_Emerald: if (countitem("GemRawGreen") < 1) goto L_Check_Sapphire; set @menuitems$[@c], "An emerald."; set @menuid[@c], 2; set @c, @c + 1; L_Check_Sapphire: if (countitem("GemRawBlue") < 1) goto L_Check_Topaz; set @menuitems$[@c], "A sapphire."; set @menuid[@c], 3; set @c, @c + 1; L_Check_Topaz: if (countitem("GemRawYellow") < 1) goto L_Check_Amethyst; set @menuitems$[@c], "A topaz."; set @menuid[@c], 4; set @c, @c + 1; L_Check_Amethyst: if (countitem("GemRawPurple") < 1) goto L_Choose_Gem; set @menuitems$[@c], "An amethyst."; set @menuid[@c], 5; set @c, @c + 1; L_Choose_Gem: set @menuitems$[@c], "None right now, thanks."; set @menuid[@c], 6; set @c, @c + 1; menu @menuitems$[0], -, @menuitems$[1], -, @menuitems$[2], -, @menuitems$[3], -, @menuitems$[4], -, @menuitems$[5], -, @menuitems$[6], -; set @menu, @menu - 1; if (@menu >= @c) close; if (@menuid[@menu] == 0) set @gem$, "GemRawWhite"; if (@menuid[@menu] == 1) set @gem$, "GemRawRed"; if (@menuid[@menu] == 2) set @gem$, "GemRawGreen"; if (@menuid[@menu] == 3) set @gem$, "GemRawBlue"; if (@menuid[@menu] == 4) set @gem$, "GemRawYellow"; if (@menuid[@menu] == 5) set @gem$, "GemRawPurple"; if (@menuid[@menu] == 6) goto L_abort; getinventorylist; if (countitem(@gem$) < 1) goto L_no_gem; if (@inventorylist_count == 100 && countitem(@gem$) > 1) goto L_TooMany; delitem @gem$, 1; if (@gem$ == "GemRawWhite") getitem "GemPowderWhite", @MIN_GEM_AMOUNT + rand(6) + rand(6); if (@gem$ == "GemRawRed") getitem "GemPowderRed", @MIN_GEM_AMOUNT + rand(6); if (@gem$ == "GemRawGreen") getitem "GemPowderGreen", @MIN_GEM_AMOUNT + rand(6); if (@gem$ == "GemRawBlue") getitem "GemPowderBlue", @MIN_GEM_AMOUNT + rand(6); if (@gem$ == "GemRawYellow") getitem "GemPowderYellow", @MIN_GEM_AMOUNT + rand(6); if (@gem$ == "GemRawPurple") getitem "GemPowderPurple", @MIN_GEM_AMOUNT + rand(6); mes "[Malek]"; mes "\"Here's your powder. Hope it's fine enough for you.\""; mes "\"Do you need me to make any more?\""; menu "Yes please.", L_Check_Gems, "No thank you, this is enough.", L_abort; L_TooMany: mes "[Malek]"; mes "\"Doesn't look like you've got room for this powder. Come back when you do.\""; close; L_no_gem: mes "[Malek]"; mes "\"You don't have that gem.\""; close; L_abort: close; }