summaryrefslogtreecommitdiff
path: root/npc/013-3/mask_chest.txt
diff options
context:
space:
mode:
Diffstat (limited to 'npc/013-3/mask_chest.txt')
-rw-r--r--npc/013-3/mask_chest.txt218
1 files changed, 218 insertions, 0 deletions
diff --git a/npc/013-3/mask_chest.txt b/npc/013-3/mask_chest.txt
new file mode 100644
index 00000000..7b1edee2
--- /dev/null
+++ b/npc/013-3/mask_chest.txt
@@ -0,0 +1,218 @@
+
+013-3,28,27,0 script Chest#DemonMask NPC111,{
+ @state = ((QUEST_Hurnscald & NIBBLE_2_MASK) >> NIBBLE_2_SHIFT);
+
+ if (@state < 2) goto L_NaoDeviaAcontecer;
+ 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.";
+ @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_NaoDeviaAcontecer:
+ 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:
+ @state = 0;
+ close;
+
+S_Update_Mask:
+ QUEST_Hurnscald = (QUEST_Hurnscald & ~(NIBBLE_2_MASK)) | (@state << NIBBLE_2_SHIFT);
+ return;
+}