.FUNCT RT-GLOBAL-HERE:ANY:0:1,CONTEXT,P ZERO? HERE /FALSE GETP HERE,P?ACTION >P ZERO? P /FALSE CALL P,CONTEXT RSTACK .FUNCT RT-YOU:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE ZERO? NOW-PRSI /?CCL5 CALL PERFORM,PRSA,PRSO,WINNER RSTACK ?CCL5: CALL PERFORM,PRSA,WINNER,PRSI RSTACK .FUNCT RT-TH-HUMAN-BODY:ANY:0:1,CONTEXT,TMP,PERSON EQUAL? CONTEXT,M-OBJDESC \?CCL3 PRINTI "their body" RTRUE ?CCL3: ZERO? CONTEXT \FALSE CALL1 GET-NP GET STACK,1 >TMP ZERO? TMP /?CND6 GET TMP,2 >PERSON ?CND6: ZERO? PERSON /?CCL10 CALL2 VISIBLE?,PERSON ZERO? STACK \?CCL10 ICALL1 NP-CANT-SEE RETURN 2 ?CCL10: PRINT K-NO-REFER-MSG PRINTI "any" PRINTI " part of" ZERO? PERSON /?CCL16 ICALL RT-PRINT-OBJ,PERSON,K-ART-THE PRINTC 39 FSET? PERSON,FL-PLURAL \?CCL18 FSET? PERSON,FL-COLLECTIVE \?CND14 ?CCL18: PRINTC 115 JUMP ?CND14 ?CCL16: PRINTI " their" ?CND14: PRINTI " body.]" CRLF RETURN 2 .FUNCT RT-GN-BODY:ANY:2:2,TBL,FINDER,PART,PTR,N ADD TBL,8 >PTR GET TBL,1 >N ?PRG1: DLESS? 'N,0 /FALSE GET PTR,0 >PART ZERO? PART /?CND3 FSET? PART,FL-YOUR /?REP2 EQUAL? PART,TH-PLAYER-BODY /?REP2 EQUAL? PART,TH-HUMAN-BODY /?CND3 RETURN PART ?CND3: ADD PTR,2 >PTR JUMP ?PRG1 ?REP2: RETURN PART .FUNCT RT-TH-PLAYER-BODY:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE PRINT K-NO-REFER-MSG PRINTI "that part of your body.]" CRLF RETURN 2 .FUNCT RT-TH-GROUND:ANY:0:3,CONTEXT,ART,CAP? EQUAL? CONTEXT,M-OBJDESC \?CCL3 ZERO? ART /?CND4 ICALL RT-PRINT-ARTICLE,TH-GROUND,ART,CAP? ?CND4: EQUAL? ART,FALSE-VALUE,K-ART-THE,K-ART-A /?CCL8 EQUAL? ART,K-ART-ANY \FALSE ?CCL8: ZERO? ART /?CND11 PRINTC 32 ?CND11: FSET? HERE,FL-INDOORS \?CCL15 PRINTI "floor" RTRUE ?CCL15: PRINTI "ground" RTRUE ?CCL3: ZERO? CONTEXT \FALSE EQUAL? PRSA,V?LOOK-ON,V?EXAMINE \FALSE CALL2 RT-SEE-ANYTHING-IN?,HERE ZERO? STACK /FALSE PRINTI "You see" ICALL2 RT-PRINT-CONTENTS,HERE PRINTI " on" ICALL RT-PRINT-OBJ,TH-GROUND,K-ART-THE PRINTC 46 CRLF RTRUE .FUNCT RT-TH-SKY:ANY:0:3,CONTEXT,ART,CAP?,RM EQUAL? CONTEXT,M-OBJDESC \?CCL3 ZERO? ART /?CND4 ICALL RT-PRINT-ARTICLE,TH-SKY,ART,CAP? ?CND4: EQUAL? ART,FALSE-VALUE,K-ART-THE,K-ART-A /?CCL8 EQUAL? ART,K-ART-ANY \FALSE ?CCL8: ZERO? ART /?CND11 PRINTC 32 ?CND11: FSET? HERE,FL-INDOORS \?CCL15 PRINTI "ceiling" RTRUE ?CCL15: PRINTI "sky" RTRUE ?CCL3: ZERO? CONTEXT \FALSE ZERO? NOW-PRSI /?CCL22 PUSH 2 JUMP ?CND20 ?CCL22: PUSH 1 ?CND20: CALL2 EVERYWHERE-VERB?,STACK ZERO? STACK \FALSE FSET? HERE,FL-INDOORS \?CCL25 CALL NOUN-USED?,TH-SKY,W?SKY ZERO? STACK /FALSE CALL1 NP-CANT-SEE RSTACK ?CCL25: CALL NOUN-USED?,TH-SKY,W?CEILING ZERO? STACK /FALSE CALL1 NP-CANT-SEE RSTACK .FUNCT RT-LG-DEEPCORE:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It looks like Deepcore." .FUNCT RT-LG-TROUGH:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It looks like the Cayman trough." .FUNCT RT-LG-MONTANA:ANY:0:1,CONTEXT ZERO? CONTEXT \FALSE EQUAL? PRSA,V?EXAMINE \FALSE PRINTR "It looks like the Montana." .ENDI