//
013-3,28,27,0|script|Chest#DemonMask|111
{
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", 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;
}