diff options
Diffstat (limited to 'world/map/npc/002-4/mine_triggertwo.txt')
-rw-r--r-- | world/map/npc/002-4/mine_triggertwo.txt | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/world/map/npc/002-4/mine_triggertwo.txt b/world/map/npc/002-4/mine_triggertwo.txt new file mode 100644 index 00000000..4af6ad7e --- /dev/null +++ b/world/map/npc/002-4/mine_triggertwo.txt @@ -0,0 +1,70 @@ +//Sandstorm mine trigger +// Variables used: +// - nibble 4 and 5 of QUEST_SouthTulimshar +// - in FLAGS, FLAG_OPENED_UNDERGROUND + +002-4.gat,100,37,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_2; + if (@state == 23) goto L_Trigger_Wrong_2; + if (@state == 22) goto L_Trigger_Wrong_2; + + mes "There is a large button on the ground. A key hole appears on the button."; + goto L_Close; + +L_Trigger_Wrong_2: + 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_2, + "Put the key in, turn left.", L_Left_Wrong_2, + "Do nothing.", L_Nothing_2; + +L_Right_Wrong_2: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key right."; + goto L_Close; + +L_Left_Wrong_2: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key left."; + goto L_Close; + +L_Trigger_2: + 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_2, + "Put the key in, turn left.", L_Left_2, + "Do nothing.", L_Nothing_2; + +L_Right_2: + set @state, 22; + callsub S_Update_Var; + mes "You turn the key right."; + goto L_Close; + +L_Left_2: + set @state, 25; + callsub S_Update_Var; + set FLAGS, FLAGS | FLAG_OPENED_UNDERGROUND; + mes "You turn the key left. A clicking sound echoes throughout the mine, followed by a loud thump."; + goto L_Close; + +L_Nothing_2: + 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; +} |