summaryrefslogtreecommitdiff
path: root/world/map/npc/002-4
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/002-4')
-rw-r--r--world/map/npc/002-4/chest.txt31
-rw-r--r--world/map/npc/002-4/miners.txt45
2 files changed, 50 insertions, 26 deletions
diff --git a/world/map/npc/002-4/chest.txt b/world/map/npc/002-4/chest.txt
index f61ee889..e9efe1c0 100644
--- a/world/map/npc/002-4/chest.txt
+++ b/world/map/npc/002-4/chest.txt
@@ -1,36 +1,47 @@
-//
+// Variables used: nibble 4 and 5 of QUEST_SouthTulimshar
002-4.gat,93,37,0|script|Treasure|111,{
- if (TMW_Quest >= 38) goto L_Finished;
+ // 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 "There is a chest here.";
mes "Do you want to try to open it?";
next;
menu
"Yes.", L_Yes,
- "No.", -;
- close;
+ "No.", L_Close;
L_Yes:
- if(countitem("TreasureKey") < 3) goto L_Not_Enough;
+ if(countitem("TreasureKey") < 3)
+ goto L_Not_Enough;
getinventorylist;
- if (@inventorylist_count == 100 && countitem("TreasureKey") > 3) goto L_TooMany;
+ 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 TMW_Quest, 38;
- close;
+ 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...";
- close;
+ goto L_Close;
L_Finished:
mes "You have already opened this chest.";
- close;
+ 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;
}
diff --git a/world/map/npc/002-4/miners.txt b/world/map/npc/002-4/miners.txt
index 2078cb7b..e66d19de 100644
--- a/world/map/npc/002-4/miners.txt
+++ b/world/map/npc/002-4/miners.txt
@@ -1,14 +1,19 @@
-//
+// Variables used: nibble 4 and 5 of QUEST_SouthTulimshar
002-4.gat,32,94,6|script|Sema|340,{
- if (TMW_Quest >= 40) goto L_Sema_Done;
- if (TMW_Quest == 39) goto L_Sema_Happy;
- if (TMW_Quest == 38) goto L_Sema_GCM;
+ // This NPC previously used the variable TMW_Quest
+ callfunc "ClearVarTMW_Quest";
+
+ set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT);
+
+ if (@state >= 28) goto L_Sema_Done;
+ if (@state == 27) goto L_Sema_Happy;
+ if (@state == 26) goto L_Sema_GCM;
mes "[Sema the Miner]";
mes "\"Hello adventurer. I do not know exactly where, but somewhere in this cave there is a chest. And wouldn't you know it! The archants have eaten all the spare keys for the chest. Go and do what you must do.\"";
- close;
+ goto L_Close;
L_Sema_GCM:
mes "[Sema the Miner]";
@@ -16,44 +21,52 @@ L_Sema_GCM:
menu
"Yes.", L_Sema_Yes,
"No.", L_Sema_No;
- close;
L_Sema_No:
mes "[Sema the Miner]";
mes "\"Ahh! I am very scared now!\"";
- close;
+ goto L_Close;
L_Sema_Yes:
- set TMW_Quest, 39;
+ set @state, 27;
+ callsub S_Update_Var;
monster "002-4.gat", 70, 90, "", 1059, 1;
mes "[Sema the Miner]";
mes "\"Good luck. To prove you killed it, please bring the Iten it swallowed when it ate the miner. Be careful, there could be more than one.\"";
- close;
+ goto L_Close;
L_Sema_Happy:
- if (countitem ("Iten") < 1) goto L_Sema_Not_Happy;
+ if (countitem ("Iten") < 1)
+ goto L_Sema_Not_Happy;
getinventorylist;
- if (@inventorylist_count - (countitem ("Iten") == 1) > 99) goto L_Sema_TooMany;
+ if (@inventorylist_count - (countitem ("Iten") == 1) > 99)
+ goto L_Sema_TooMany;
delitem "Iten", 1;
getitem "DesertShirt", 1;
- set TMW_Quest, 40;
+ set @state, 28;
+ callsub S_Update_Var;
mes "[Sema the Miner]";
mes "\"You killed it! What a relief! I wish I had more to give, but please accept this Desert Shirt as reward.\"";
- close;
+ goto L_Close;
L_Sema_TooMany:
mes "[Sema the Miner]";
mes "\"You have too many items for me to give you a reward. Please drop or sell something so I can give it to you. Oh and yes, you can also store items at the nearest bank.\"";
- close;
+ goto L_Close;
L_Sema_Not_Happy:
- set TMW_Quest, 38;
+ set @state, 26;
+ callsub S_Update_Var;
itemheal -Hp, 0;
mes "A stone falls on your head.";
- close;
+ goto L_Close;
L_Sema_Done:
mes "[Sema the Miner]";
mes "\"You made this cave safer, you are kind beyond belief. Others may need you. Happy adventuring.\"";
+ goto L_Close;
+
+L_Close:
+ set @state, 0;
close;
}