diff options
Diffstat (limited to 'npc')
-rw-r--r-- | npc/018-2_Woodland_mining_camp/miners.txt | 146 |
1 files changed, 140 insertions, 6 deletions
diff --git a/npc/018-2_Woodland_mining_camp/miners.txt b/npc/018-2_Woodland_mining_camp/miners.txt index caf8afcd..5763ae62 100644 --- a/npc/018-2_Woodland_mining_camp/miners.txt +++ b/npc/018-2_Woodland_mining_camp/miners.txt @@ -1,15 +1,149 @@ -// +// This NPC makes gem powders out of gemstones +// Authors: Ali-G, enchilado, Jenalya -018-2.gat,85,23,0 script Miner 109,{ +018-2.gat,85,23,0 script Malek 109,{ if (Inspector == 10) goto L_NohMask; - mes "[Miner]"; - mes "\"Hello.\""; - close; + 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 "[Miner]"; 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", 5; + if (@gem$ == "GemRawRed") getitem "GemPowderRed", 5; + if (@gem$ == "GemRawGreen") getitem "GemPowderGreen", 5; + if (@gem$ == "GemRawBlue") getitem "GemPowderBlue", 5; + if (@gem$ == "GemRawYellow") getitem "GemPowderYellow", 5; + if (@gem$ == "GemRawPurple") getitem "GemPowderPurple", 5; + + 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; } |