.FUNCT RT-RM-TRI-MIX-STORAGE:ANY:0:1,CONTEXT EQUAL? CONTEXT,M-F-LOOK,M-V-LOOK,M-LOOK \?CCL3 PRINTI " You " EQUAL? CONTEXT,M-LOOK \?CCL6 PRINTI "are in" JUMP ?CND4 ?CCL6: PRINTI "enter" ?CND4: PRINTI " the tri-mix storage room. There are three huge steel tanks here, each welded to a sturdy base that sits about an inch off the floor. The tanks look like giant beer kegs and this similarity is heightened by the k-valves on the front that look like beer taps. Exits here lead fore and aft. " RFALSE ?CCL3: EQUAL? CONTEXT,M-ENTERED \?CCL8 ZERO? GL-NITROGEN-LEAK? /FALSE PRINT K-HISS-MSG RTRUE ?CCL8: EQUAL? CONTEXT,M-BEG \?CCL13 EQUAL? PRSA,V?LISTEN \FALSE EQUAL? PRSO,ROOMS \FALSE ZERO? GL-NITROGEN-LEAK? /FALSE PRINT K-HISS-MSG RTRUE ?CCL13: ZERO? CONTEXT \FALSE RFALSE .FUNCT RT-TH-NITROGEN-TANK:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE EQUAL? PRSA,V?LISTEN \?CCL5 ZERO? GL-NITROGEN-LEAK? /?CCL8 PRINT K-HISS-MSG RTRUE ?CCL8: PRINTR "You don't hear anything unusual." ?CCL5: EQUAL? PRSA,V?EXAMINE \?CCL10 CALL NOUN-USED?,TH-NITROGEN-TANK,W?BASE ZERO? STACK /?CCL13 PRINTR "The base is raised up off the floor by about an inch." ?CCL13: PRINT K-GAS-TANK-MSG ZERO? GL-NITROGEN-LEAK? /?CND14 PRINTR " The hissing sound seems to be coming from here." ?CND14: CRLF RTRUE ?CCL10: EQUAL? PRSA,V?LOOK-UNDER \?CCL17 GETP TH-NIT-STOPPER,P?OWNER EQUAL? STACK,TH-NITROGEN-TANK \FALSE FSET TH-NIT-STOPPER,FL-SEEN FCLEAR TH-NIT-STOPPER,FL-INVISIBLE PRINTR " You lie down on the floor and peer under the base of the tank. Back out of reach you see the steel gleam of the stopper. It must have rolled there after working itself loose from the k-valve." ?CCL17: EQUAL? PRSA,V?REACH-UNDER \FALSE GETP TH-NIT-STOPPER,P?OWNER EQUAL? STACK,TH-NITROGEN-TANK \FALSE EQUAL? PRSI,TH-MAGNET \?CCL28 CALL1 RT-GET-STOPPER RSTACK ?CCL28: EQUAL? PRSI,FALSE-VALUE,ROOMS,TH-HANDS \FALSE PRINTR " You can't quite reach the stopper." .FUNCT RT-TH-NIT-VALVE:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE ZERO? NOW-PRSI /?CCL5 EQUAL? PRSA,V?ATTACH,V?PUT-IN \FALSE EQUAL? PRSO,TH-NIT-STOPPER \FALSE MOVE TH-NIT-STOPPER,TH-NIT-VALVE PRINTR " You screw the stopper into the k-valve. The valve is still hissing." ?CCL5: EQUAL? PRSA,V?LISTEN \?CCL13 IN? TH-NIT-STOPPER,TH-NIT-VALVE /?CCL16 PRINT K-HISS-MSG RTRUE ?CCL16: PRINTR " You don't hear anything unusual." ?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL18 PRINTI " The k-valve is a small device that controls the flow of the nitrogen." IN? TH-NIT-STOPPER,TH-NIT-VALVE /?CND19 PRINTI " The valve's stopper seems to be missing" ZERO? GL-NITROGEN-LEAK? /?CND19 PRINTI ", and the hissing sound is definitely coming from here" ?CND19: PRINTR "." ?CCL18: EQUAL? PRSA,V?OPEN \?CCL24 FSET? TH-NIT-VALVE,FL-ON \?CCL27 CALL2 RT-ALREADY-MSG,STR?93 RSTACK ?CCL27: IN? TH-NIT-STOPPER,TH-NIT-VALVE \?CCL29 PRINTR " You decide not to open the valve, since that might cause problems." ?CCL29: PRINTR " The stopper is missing, so the valve can't be opened." ?CCL24: EQUAL? PRSA,V?CLOSE \FALSE FSET? TH-NIT-VALVE,FL-ON /?CCL34 CALL2 RT-ALREADY-MSG,STR?79 RSTACK ?CCL34: IN? TH-NIT-STOPPER,TH-NIT-VALVE \?CCL36 FCLEAR TH-NIT-VALVE,FL-ON SET 'GL-NITROGEN-LEAK?,FALSE-VALUE ICALL2 RT-DEQUEUE,RT-I-NITROGEN-LEAK PRINTR " You close the k-valve. The hissing stops." ?CCL36: PRINTR " The stopper is missing, so the valve can't be closed." .FUNCT RT-TH-NIT-STOPPER:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE EQUAL? PRSA,V?TAKE \?CCL5 GETP TH-NIT-STOPPER,P?OWNER EQUAL? STACK,TH-NITROGEN-TANK \FALSE PRINTR " You can't quite reach the stopper." ?CCL5: EQUAL? PRSA,V?TAKE-WITH \FALSE GETP TH-NIT-STOPPER,P?OWNER EQUAL? STACK,TH-NITROGEN-TANK \FALSE EQUAL? PRSI,TH-MAGNET \FALSE CALL1 RT-GET-STOPPER RSTACK .FUNCT RT-GET-STOPPER:ANY:0:0 MOVE TH-NIT-STOPPER,TH-MAGNET PUTP TH-NIT-STOPPER,P?OWNER,FALSE-VALUE PRINTR " You slide the magnet under the base and hear a satisfying 'click.' When you pull it out again, the stopper is stuck to the end." .FUNCT RT-I-NITROGEN-LEAK:ANY:0:0 SET 'GL-NITROGEN-LEAK?,TRUE-VALUE ADD GL-MOVES,1 ICALL RT-QUEUE,RT-I-NITROGEN-LEAK,STACK LESS? GL-NITROGEN-QTY,K-NIT-HIGH-1 \?CCL4 SET 'GL-NITROGEN-QTY,K-NIT-HIGH-1 JUMP ?CND2 ?CCL4: ADD GL-NITROGEN-QTY,47 >GL-NITROGEN-QTY ?CND2: CALL1 RT-NITROGEN-MSG RSTACK .FUNCT RT-TH-NIT-BASE:ANY:0:1,CONTEXT RFALSE .FUNCT RT-TH-OXYGEN-TANK:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE EQUAL? PRSA,V?EXAMINE \FALSE PRINT K-GAS-TANK-MSG CRLF RTRUE .FUNCT RT-TH-OXY-VALVE:ANY:0:1,CONTEXT RFALSE .FUNCT RT-TH-OXY-STOPPER:ANY:0:1,CONTEXT RFALSE .FUNCT RT-TH-OXY-BASE:ANY:0:1,CONTEXT RFALSE .FUNCT RT-TH-HELIUM-TANK:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE EQUAL? PRSA,V?EXAMINE \FALSE PRINT K-GAS-TANK-MSG CRLF RTRUE .FUNCT RT-TH-HEL-VALVE:ANY:0:1,CONTEXT RFALSE .FUNCT RT-TH-HEL-STOPPER:ANY:0:1,CONTEXT RFALSE .FUNCT RT-TH-HEL-BASE:ANY:0:1,CONTEXT RFALSE .FUNCT RT-GN-TANK:ANY:2:2,TBL,FINDER,PTR,N ADD TBL,8 >PTR GET TBL,1 >N INTBL? TH-NITROGEN-TANK,PTR,N \FALSE PRINTI "[the nitrogen tank] " RETURN TH-NITROGEN-TANK .FUNCT RT-GN-VALVE:ANY:2:2,TBL,FINDER,PTR,N ADD TBL,8 >PTR GET TBL,1 >N INTBL? TH-NIT-VALVE,PTR,N \FALSE PRINTI "[the nitrogen k-valve] " RETURN TH-NIT-VALVE .FUNCT RT-GN-STOPPER:ANY:2:2,TBL,FINDER,PTR,N ADD TBL,8 >PTR GET TBL,1 >N INTBL? TH-NIT-STOPPER,PTR,N \FALSE PRINTI "[the nitrogen stopper] " RETURN TH-NIT-STOPPER .FUNCT RT-RM-TOOL-ROOM:ANY:0:1,CONTEXT EQUAL? CONTEXT,M-F-LOOK,M-V-LOOK,M-LOOK \?CCL3 PRINTI " You " EQUAL? CONTEXT,M-LOOK \?CCL6 PRINTI "are in" JUMP ?CND4 ?CCL6: PRINTI "enter" ?CND4: PRINTI " the tool room, which lies between your office on the port side and the drill room to starboard. Bins here contain the various specialized tools of your trade. " RFALSE ?CCL3: ZERO? CONTEXT \FALSE RFALSE .FUNCT RT-TH-BIN:ANY:0:1,CONTEXT RFALSE .FUNCT RT-TH-MAGNET:ANY:0:1,CONTEXT RFALSE .ENDI