summaryrefslogtreecommitdiff
path: root/world/map/npc/002-5/chest.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/002-5/chest.txt')
-rw-r--r--world/map/npc/002-5/chest.txt51
1 files changed, 51 insertions, 0 deletions
diff --git a/world/map/npc/002-5/chest.txt b/world/map/npc/002-5/chest.txt
new file mode 100644
index 00000000..50e3eed0
--- /dev/null
+++ b/world/map/npc/002-5/chest.txt
@@ -0,0 +1,51 @@
+// Variables used: nibble 4 and 5 of QUEST_SouthTulimshar
+
+002-5.gat,93,37,0|script|Supply Chest|377,{
+
+ // This NPC previously used the variable TMW_Quest
+ callfunc "ClearVarTMW_Quest";
+
+ set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT);
+
+ if (@state >= 26) goto L_Finished;
+
+ mes "Hrmm... A supply chest.";
+ mes "Do you want to try to open it?";
+ next;
+ menu
+ "Yes.", L_Yes,
+ "No.", L_Close;
+
+L_Yes:
+ if (countitem("TreasureKey") < 3)
+ goto L_Not_Enough;
+ getinventorylist;
+ if (@inventorylist_count == 100 && countitem("TreasureKey") > 3)
+ goto L_TooMany;
+ mes "You opened the chest and found a short bow!";
+ delitem "TreasureKey", 3;
+ getitem "ShortBow", 1;
+ set @state, 26;
+ callsub S_Update_Var;
+ goto L_Close;
+
+L_Not_Enough:
+ mes "It seems that you do not have the right key for this chest yet...";
+ goto L_Close;
+
+L_Finished:
+ mes "You have already opened this chest.";
+ goto L_Close;
+
+L_TooMany:
+ mes "You do not have enough room to loot this chest. Maybe you should try again later.";
+ goto L_Close;
+
+L_Close:
+ set @state, 0;
+ close;
+
+S_Update_Var:
+ set QUEST_SouthTulimshar, (QUEST_SouthTulimshar & ~(BYTE_2_MASK) | (@state << BYTE_2_SHIFT));
+ return;
+}