//
013-3.gat,28,27,0|script|Chest#DemonMask|111,
{
callfunc "ClearVariables";
set @state, ((QUEST_Hurnscald & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT);
if (@state < 2) goto L_This_shouldn_t_happen;
if (@state == 3) goto L_Finished;
if (countitem("MaggotSlime") == 0)
goto L_No_maggot_slime;
if (countitem("SmallMushroom") == 0)
goto L_No_mushroom;
if (countitem("PinkPetal") == 0)
goto L_No_pink_petal;
if (countitem("Pearl") == 0)
goto L_No_pearl;
if (countitem("HardSpike") == 0)
goto L_No_hard_spike;
if (countitem("RawLog") == 0)
goto L_No_raw_log;
if (countitem("PinkAntenna") == 0)
goto L_No_pink_antenna;
if (countitem("SnakeTongue") == 0
|| countitem("MountainSnakeTongue") == 0
|| countitem("GrassSnakeTongue") == 0
|| countitem("CaveSnakeTongue") == 0)
goto L_No_tongues;
if (countitem("TreasureKey") == 0)
goto L_No_treasure_key;
if (countitem("PileOfAsh") == 0)
goto L_No_ash;
if (countitem("MauveHerb") == 0
|| countitem("CobaltHerb") == 0
|| countitem("GambogeHerb") == 0
|| countitem("AlizarinHerb") == 0)
goto L_No_herbs;
if (countitem("BugLeg") == 0)
goto L_No_bug_leg;
if (countitem("CaveSnakeLamp") == 0)
goto L_No_lamp;
if (countitem("IronOre") == 0)
goto L_No_iron_ore;
if (countitem("ScorpionStinger") == 0
|| countitem("RedScorpionStinger") == 0
|| countitem("BlackScorpionStinger") == 0)
goto L_No_stingers;
if (countitem("SilkCocoon") == 0)
goto L_No_silk;
if (countitem("WhiteFur") == 0)
goto L_No_fur;
if (countitem("DarkCrystal") == 0)
goto L_No_dark_crystal;
if (countitem("BottleOfWater") == 0)
goto L_No_water;
getinventorylist;
if (@inventorylist_count == 100
&& countitem("MaggotSlime") > 1
&& countitem("BugLeg") > 1
&& countitem("SilkCocoon") > 1
&& countitem("SmallMushroom") > 1
&& countitem("PinkPetal") > 1
&& countitem("Pearl") > 1
&& countitem("HardSpike") > 1
&& countitem("RawLog") > 1
&& countitem("PinkAntenna") > 1
&& countitem("DarkCrystal") > 1
&& countitem("IronOre") > 1
&& countitem("ScorpionStinger") > 1
&& countitem("RedScorpionStinger") > 1
&& countitem("BlackScorpionStinger") > 1
&& countitem("SnakeTongue") > 1
&& countitem("MountainSnakeTongue") > 1
&& countitem("GrassSnakeTongue") > 1
&& countitem("CaveSnakeTongue") > 1
&& countitem("MauveHerb") > 1
&& countitem("CobaltHerb") > 1
&& countitem("GambogeHerb") > 1
&& countitem("AlizarinHerb") > 1
&& countitem("TreasureKey") > 1
&& countitem("CaveSnakeLamp") > 1
&& countitem("PileOfAsh") > 1
&& countitem("WhiteFur") > 1
&& countitem("BottleOfWater") > 1)
goto L_TooMany;
delitem "MaggotSlime", 1;
delitem "BugLeg", 1;
delitem "SilkCocoon", 1;
delitem "SmallMushroom", 1;
delitem "PinkPetal", 1;
delitem "Pearl", 1;
delitem "HardSpike", 1;
delitem "RawLog", 1;
delitem "PinkAntenna", 1;
delitem "DarkCrystal", 1;
delitem "IronOre", 1;
delitem "ScorpionStinger", 1;
delitem "RedScorpionStinger", 1;
delitem "BlackScorpionStinger", 1;
delitem "SnakeTongue", 1;
delitem "MountainSnakeTongue", 1;
delitem "GrassSnakeTongue", 1;
delitem "CaveSnakeTongue", 1;
delitem "MauveHerb", 1;
delitem "CobaltHerb", 1;
delitem "GambogeHerb", 1;
delitem "AlizarinHerb", 1;
delitem "TreasureKey", 1;
delitem "CaveSnakeLamp", 1;
delitem "WhiteFur", 1;
delitem "PileOfAsh", 1;
delitem "BottleOfWater", 1;
mes "You managed to perform the ritual and open the chest.";
getitem "DemonMask", 1;
mes "You found a demon mask inside.";
set @state, 3;
callsub S_Update_Mask;
goto L_Close;
L_No_maggot_slime:
mes "You do not have any maggot slime.";
goto L_Close;
L_No_mushroom:
mes "You do not have a mushroom, neither big, nor small.";
goto L_Close;
L_No_pink_petal:
mes "You can't seem to find that pink petal you had.";
goto L_Close;
L_No_pearl:
mes "You do not have a pearl, let alone one from the sea.";
goto L_Close;
L_No_hard_spike:
mes "You weren't able to find a hard spike in the stuff you brought.";
goto L_Close;
L_No_raw_log:
mes "You don't have any wood.";
goto L_Close;
L_No_pink_antenna:
mes "You aren't carrying any antenna.";
goto L_Close;
L_No_tongues:
mes "You don't have four different snake tongues.";
goto L_Close;
L_No_treasure_key:
mes "No treasure chest key, no opening ritual.";
goto L_Close;
L_No_ash:
mes "You still need a pile of ash.";
goto L_Close;
L_No_herbs:
mes "Four different herbs are needed to get this thing open.";
goto L_Close;
L_No_bug_leg:
mes "You do not have part of a bug on you. That is rather odd considering what you went through to get here.";
goto L_Close;
L_No_lamp:
mes "You do not have a lamp. Yet, somehow, you were able to get this far into this dark cave.";
goto L_Close;
L_No_iron_ore:
mes "\"Rock and metal, as one.\" You don't seem to have anything that fits the bill.";
goto L_Close;
L_No_stingers:
mes "Three scorpion deaths are still missing.";
goto L_Close;
L_No_silk:
mes "You could not find the womb for a butterfly among your stuff.";
goto L_Close;
L_No_fur:
mes "You wonder how you can carry the \"gentle caress of a creature without blemish.\" But you need it to get this thing open.";
goto L_Close;
L_No_dark_crystal:
mes "A piece of darkness is missing.";
goto L_Close;
L_No_water:
mes "Just one bottle of water and you can start the ritual.";
goto L_Close;
L_This_shouldn_t_happen:
warp "013-3.gat", 71, 25;
// You need to go through the barrier to get to the chest, so this shouldn't happen. So just warp them like the barrier does.
goto L_Close;
L_Finished:
mes "[Chest]";
mes "You already opened this chest.";
goto L_Close;
L_TooMany:
mes "[Chest]";
mes "You don't have room for what ever is inside. Maybe you should try again later.";
goto L_Close;
L_Close:
set @state, 0;
close;
S_Update_Mask:
set QUEST_Hurnscald, (QUEST_Hurnscald & ~(NIBBLE_2_MASK)) | (@state << NIBBLE_2_SHIFT);
return;
}