.FUNCT RT-AC-CH-VENDOR,CONTEXT,NUM SET 'NUM,CH-VENDOR-AUX1 EQUAL? CONTEXT,K-M-WINNER \?CCL3 EQUAL? GL-PRSA,V?TAKE \?CCL3 CALL RT-META-IN?,GL-PRSO,CH-PLAYER ZERO? STACK /?CCL3 SET 'GL-WINNER,CH-PLAYER ICALL RT-PERFORM,V?GIVE,GL-PRSO,CH-VENDOR SET 'GL-WINNER,CH-VENDOR RTRUE ?CCL3: EQUAL? GL-PRSA,V?HAGGLE \?CCL8 ZERO? GL-NOW-PRSI? \?CCL8 ICALL2 RT-THIS-IS-IT,TH-TELESCOPE IN? TH-TELESCOPE,CH-VENDOR /?CCL13 PRINTR """Sorry, guv. No refunds.""" ?CCL13: ZERO? NUM \?CCL15 PRINTI """Alright, guv. For you I'll come down to me special Jubilee price of Nineteen and six. 'Ow about it?""" CRLF SET 'CH-VENDOR-AUX1,1 RETURN CH-VENDOR-AUX1 ?CCL15: EQUAL? NUM,1 \?CCL17 PRINTI """It'll break me poor wife's 'eart, me comin' 'ome wif so little. But times is 'ard. Nineteen shillings. Not a farthing less.""" CRLF SET 'CH-VENDOR-AUX1,2 RETURN CH-VENDOR-AUX1 ?CCL17: EQUAL? NUM,2 \FALSE PRINTR """Sorry, guv. Nineteen shillings is me price.""" ?CCL8: CALL2 RT-TELL-ABOUT?,CH-VENDOR ZERO? STACK /?CCL21 EQUAL? GL-PRSI,TH-TELESCOPE \?CCL24 IN? TH-TELESCOPE,CH-VENDOR /?CCL27 PRINTR """Sorry, guv. No refunds.""" ?CCL27: ZERO? NUM \?CCL29 PRINTR """It's me top-of-the-line model. I can let you 'ave it for one pound.""" ?CCL29: EQUAL? NUM,1 \?CCL31 PRINTR """Seeing as 'ow it's you, I'll let it go for nineteen and six.""" ?CCL31: EQUAL? NUM,2 \FALSE PRINTR """Nineteen shillings is as low as I can go.""" ?CCL24: IN? TH-TELESCOPE,CH-VENDOR \?CCL36 EQUAL? GL-PRSI,TH-TRINKETS \?CCL39 PRINTR """I've got quite a nice telescope 'ere that I can let you 'ave for only a quid.""" ?CCL39: PRINTR "He ignores your question and waves trinkets over his head, asking if you wish to buy anything." ?CCL36: PRINTR "He ignores your question and looks about for new customers." ?CCL21: EQUAL? GL-PRSA,V?GIVE \FALSE EQUAL? GL-PRSO,TH-TELESCOPE \FALSE PRINTR """Sorry, mate. No refunds.""" .FUNCT RT-AC-TH-POUND-NOTE,CONTEXT,NUM EQUAL? CONTEXT,K-M-DESCFCN \?CCL3 PRINTR "Why, haven't you ever seen a pound note before?" ?CCL3: EQUAL? GL-PRSA,V?BUY \?PRD7 EQUAL? GL-PRSO,TH-TELESCOPE /?CCL5 ?PRD7: EQUAL? GL-PRSA,V?GIVE \FALSE ZERO? GL-NOW-PRSI? \FALSE EQUAL? GL-PRSI,CH-VENDOR \FALSE ?CCL5: ICALL RT-CYOU-MSG,STR?711,STR?712 ICALL2 RT-THEO-PRINT,TH-POUND-NOTE PRINTI " to " ICALL2 RT-THEO-PRINT,CH-VENDOR PRINTC 46 SET 'NUM,CH-VENDOR-AUX1 ZERO? NUM \?CCL15 PRINT K-GOOD-HEALTH-MSG JUMP ?CND13 ?CCL15: EQUAL? NUM,1 \?CCL17 PRINTI " He smirks, gives" ICALL1 RT-YOU-MSG PRINTI "sixpence change," MOVE TH-SIXPENCE,GL-WINNER FSET TH-SIXPENCE,FL-SEEN FSET TH-SIXPENCE,FL-TOUCHED JUMP ?CND13 ?CCL17: EQUAL? NUM,2 \?CND13 PRINTI " He gives" ICALL1 RT-YOU-MSG PRINTI "a shilling for change," MOVE TH-SHILLING,GL-WINNER FSET TH-SHILLING,FL-SEEN FSET TH-SHILLING,FL-TOUCHED ?CND13: PRINTI " and hands" ICALL1 RT-YOU-MSG ICALL2 RT-THEO-PRINT,TH-TELESCOPE PRINTC 46 CRLF MOVE TH-TELESCOPE,GL-WINNER REMOVE TH-POUND-NOTE FSET TH-TELESCOPE,FL-SEEN FSET TH-TELESCOPE,FL-TOUCHED FCLEAR TH-TELESCOPE,FL-NODESC EQUAL? NUM,2 \?CND19 GETP TH-TELESCOPE,P?VALUE ICALL2 RT-UPDATE-SCORE,STACK ?CND19: PUTP TH-TELESCOPE,P?VALUE,0 RTRUE .FUNCT RT-AC-TH-TELESCOPE,CONTEXT,NUM EQUAL? CONTEXT,K-M-DESCFCN \?CND1 PRINTI "The telescope looks surprisingly good" IN? TH-TELESCOPE,CH-VENDOR \?CCL5 PRINTI ". But it's not worth a whole pound" JUMP ?CND3 ?CCL5: PRINTI ", considering it's just a trinket" ?CND3: PRINTR "." ?CND1: SET 'GL-P-IT-OBJECT,TH-TELESCOPE ZERO? GL-NOW-PRSI? /?CCL8 EQUAL? GL-PRSA,V?LOOK-THRU \FALSE IN? GL-PRSI,CH-PLAYER /?CCL14 ICALL RT-YOUD-HAVE-TO-MSG,STR?738,GL-PRSI RTRUE ?CCL14: CALL2 RT-GOT?,GL-PRSO ZERO? STACK \?CTR15 EQUAL? GL-PRSO,CH-PLAYER,CH-ME,TH-HANDS /?CTR15 EQUAL? GL-PRSO,TH-FEET,TH-POCKET /?CTR15 CALL RT-IDENTIFY-FLOOR?,W?GROUND,GL-PRSO ZERO? STACK /?CCL16 ?CTR15: ICALL1 RT-CTHEI-PRINT PRINTR " will not focus that closely." ?CCL16: EQUAL? GL-LASTFOC,GL-PRSO /?CND12 SET 'GL-LASTFOC,GL-PRSO PRINTI "You focus the telescope on " ICALL1 RT-THEO-PRINT PRINTC 46 CRLF CRLF ?CND12: EQUAL? GL-PRSO,TH-NELSON-STATUE,TH-NELSON-EYE \?CCL24 IN? TH-RUBY,TH-NELSON-STATUE \?CCL24 PRINTI "You can see a ruby in Nelson's blind eye." CRLF FSET TH-NELSON-STATUE,FL-OPENED RTRUE ?CCL24: FSET? GL-PRSO,FL-PLURAL \?CCL28 FSET? GL-PRSO,FL-COLLECTIVE /?CCL28 PRINTI "They appear" JUMP ?CND22 ?CCL28: FSET? GL-PRSO,FL-PERSON \?CCL32 FSET? GL-PRSO,FL-FEMALE \?CCL32 PRINTI "She appears" JUMP ?CND22 ?CCL32: FSET? GL-PRSO,FL-PERSON \?CCL36 FSET? GL-PRSO,FL-FEMALE /?CCL36 PRINTI "He appears" JUMP ?CND22 ?CCL36: PRINTI "It appears" ?CND22: PRINTR " much closer now." ?CCL8: EQUAL? GL-PRSA,V?LOOK-INSIDE \?CCL40 PRINTR "Everything appears much closer." ?CCL40: EQUAL? GL-PRSA,V?ADJUST,V?PLAY \?CCL42 PRINTR "You fiddle aimlessly with the controls." ?CCL42: EQUAL? GL-PRSA,V?TAKE,V?STEAL \?CCL44 IN? TH-TELESCOPE,CH-VENDOR \?CCL44 PRINT K-THEFT-MSG CRLF RTRUE ?CCL44: EQUAL? GL-PRSA,V?BUY,V?BUY-FROM \FALSE IN? TH-TELESCOPE,CH-VENDOR \FALSE EQUAL? GL-PRSI,TH-POUND-NOTE /?CTR52 EQUAL? GL-PRSI,FALSE-VALUE,CH-VENDOR \?CCL53 CALL RT-META-IN?,TH-POUND-NOTE,GL-WINNER ZERO? STACK /?CCL53 ?CTR52: ICALL RT-CYOU-MSG,STR?711,STR?712 ICALL2 RT-THEO-PRINT,TH-POUND-NOTE PRINTI " to " ICALL2 RT-THEO-PRINT,CH-VENDOR PRINTC 46 SET 'NUM,CH-VENDOR-AUX1 ZERO? NUM \?CCL60 PRINT K-GOOD-HEALTH-MSG JUMP ?CND58 ?CCL60: EQUAL? NUM,1 \?CCL62 PRINTI " He smirks, gives" ICALL1 RT-YOU-MSG PRINTI "sixpence change," MOVE TH-SIXPENCE,GL-WINNER FSET TH-SIXPENCE,FL-SEEN FSET TH-SIXPENCE,FL-TOUCHED JUMP ?CND58 ?CCL62: EQUAL? NUM,2 \?CND58 PRINTI " He gives" ICALL1 RT-YOU-MSG PRINTI "a shilling for change," MOVE TH-SHILLING,GL-WINNER FSET TH-SHILLING,FL-SEEN FSET TH-SHILLING,FL-TOUCHED ?CND58: PRINTI " and hands" ICALL1 RT-YOU-MSG ICALL2 RT-THEO-PRINT,TH-TELESCOPE PRINTC 46 CRLF MOVE TH-TELESCOPE,GL-WINNER REMOVE TH-POUND-NOTE FSET TH-TELESCOPE,FL-SEEN FSET TH-TELESCOPE,FL-TOUCHED FCLEAR TH-TELESCOPE,FL-NODESC EQUAL? NUM,2 \?CND64 GETP TH-TELESCOPE,P?VALUE ICALL2 RT-UPDATE-SCORE,STACK ?CND64: PUTP TH-TELESCOPE,P?VALUE,0 RTRUE ?CCL53: ICALL1 RT-CYOU-MSG PRINTI "can't buy " ICALL1 RT-THEO-PRINT PRINTI " with" ZERO? GL-PRSI /?CCL68 PRINTC 32 ICALL1 RT-THEI-PRINT JUMP ?CND66 ?CCL68: PRINTI "out any money" ?CND66: PRINTR "." .FUNCT RT-AC-TH-SIXPENCE RFALSE .ENDI