summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--npc/018-2_Woodland_mining_camp/miners.txt146
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;
}