summaryrefslogblamecommitdiff
path: root/world/map/npc/018-2/miners.txt
blob: 1e337036f441f99fd24aae385e648a23abeb3d1d (plain) (tree)
1
2
3
4
5
6
7
8
9

                                              
 
                                             


                               

                                            








                                                                                        

          












                                                                                        
                          

                                                                                                                                                                                       























































































                                                                                                                                                                                                                   





                                                                                                  




















                                                                                            
 
// 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;
}