diff options
Diffstat (limited to 'world/map/npc/002-4/mine_triggerone.txt')
-rw-r--r-- | world/map/npc/002-4/mine_triggerone.txt | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/world/map/npc/002-4/mine_triggerone.txt b/world/map/npc/002-4/mine_triggerone.txt new file mode 100644 index 00000000..df29393e --- /dev/null +++ b/world/map/npc/002-4/mine_triggerone.txt @@ -0,0 +1,67 @@ +//Sandstorm mine trigger 1 Trigger 002-4 35,43 (127) +// Variables used: nibble 4 and 5 of QUEST_SouthTulimshar + +002-4.gat,30,47,0|script|Button|400,0,0,{ + + // This NPC previously used the variable TMW_Quest + callfunc "ClearVarTMW_Quest"; + + set @state, ((QUEST_SouthTulimshar & BYTE_2_MASK) >> BYTE_2_SHIFT); + + if (@state == 24) goto L_Trigger_Wrong_1; + if (@state == 23) goto L_Trigger_Wrong_1; + if (@state == 22) goto L_Trigger_1; + + mes "There is a large button on the ground. A key hole appears on the button."; + goto L_Close; + +L_Trigger_Wrong_1: + mes "There is a large button on the ground. A key hole appears on the button."; + menu + "Put the key in, turn right.", L_Right_Wrong_1, + "Put the key in, turn left.", L_Left_Wrong_1, + "Do nothing.", L_Nothing_1; + +L_Right_Wrong_1: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key right."; + goto L_Close; + +L_Left_Wrong_1: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key left."; + goto L_Close; + +L_Trigger_1: + mes "There is a large button on the ground. A key hole appears on the button."; + menu + "Put the key in, turn right.", L_Right_1, + "Put the key in, turn left.", L_Left_1, + "Do nothing.", L_Nothing_1; + +L_Right_1: + set @state, 23; + callsub S_Update_Var; + mes "You turn the key right. A clicking sound echoes throughout the mine."; + goto L_Close; + +L_Left_1: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key left."; + goto L_Close; + +L_Nothing_1: + mes "You leave the button alone."; + 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; +} |