-
Notifications
You must be signed in to change notification settings - Fork 16
/
people.zap
1475 lines (1426 loc) · 53.6 KB
/
people.zap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
.FUNCT RT-LIBRARIAN-SAYS-MSG
FSET? CH-LIBRARIAN,FL-OPENED /?CCL3
PRINTC 34
CALL2 RT-PICK-NEXT,GL-LIBRARIAN-TXT1
PRINT STACK
PRINTR "."""
?CCL3: PRINTC 34
CALL2 RT-PICK-NEXT,GL-LIBRARIAN-TXT2
PRINT STACK
PRINTR """"
.FUNCT RT-TELL-ABOUT?,PERSON
EQUAL? GL-PRSA,V?ASK-ABOUT \?PRD3
EQUAL? GL-PRSO,PERSON /TRUE
?PRD3: EQUAL? GL-PRSA,V?TELL-ABOUT \?PRD6
EQUAL? GL-PRSO,CH-ME,CH-PLAYER \?PRD6
EQUAL? GL-WINNER,PERSON /TRUE
?PRD6: EQUAL? GL-PRSA,V?WHO \?PRD10
FSET? GL-PRSO,FL-PERSON \?PRD10
EQUAL? GL-WINNER,PERSON /TRUE
?PRD10: EQUAL? GL-PRSA,V?WHAT \FALSE
EQUAL? GL-WINNER,PERSON /TRUE
RFALSE
.FUNCT RT-WHO-WHAT-FAIL?
EQUAL? GL-PRSA,V?WHO,V?WHAT \FALSE
PRINTR """Sorry. I don't know what you're talking about."""
.FUNCT RT-NO-CONDITION-MSG,PERSON,STR
ICALL2 RT-CTHEO-PRINT,PERSON
ICALL2 RT-IS-ARE-MSG,PERSON
PRINTI "in no condition to "
ZERO? STR /?CCL3
PRINT STR
JUMP ?CND1
?CCL3: PRINTI "respond"
?CND1: PRINTR "."
.FUNCT RT-AC-CH-HOLMES,CONTEXT,OBJ
ICALL2 RT-THIS-IS-IT,CH-HOLMES
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
ICALL2 RT-THIS-IS-IT,CH-HOLMES
FSET? CH-HOLMES,FL-ASLEEP \?CCL6
CALL2 RT-PICK-NEXT,GL-HOLMES-DESC-TXT
PRINT STACK
PRINTR " is slouched on the sofa, lost in a black mood of despair. He is pale and emaciated, and his sharp eyes burn with fever. He is staring at a phial that he holds in one hand. His free hand rests near a hypodermic syringe in a neat morocco case at his side. You realize that he is fighting a depression brought on by what he calls ""the dull routine of existence."""
?CCL6: FSET? CH-HOLMES,FL-LOCKED \?CCL8
CALL2 RT-PICK-NEXT,GL-HOLMES-DESC-TXT
PRINT STACK
PRINT K-SECURELY-BOUND-MSG
JUMP ?CND4
?CCL8: FSET? CH-MORIARTY,FL-LOCKED \?CCL10
PRINTI "Despite his cool exterior, you can tell that Holmes is excited about nearing the end of the chase"
JUMP ?CND4
?CCL10: IN? CH-HOLMES,TH-BOAT \?CCL12
CALL2 RT-PICK-NEXT,GL-HOLMES-DESC-TXT
PRINT STACK
PRINT K-SEASICK-MSG
JUMP ?CND4
?CCL12: IN? CH-HOLMES,TH-HANSOM-CAB /?CTR13
IN? CH-HOLMES,TH-GROWLER-CAB \?CCL14
?CTR13: CALL2 RT-PICK-NEXT,GL-HOLMES-DESC-TXT
PRINT STACK
PRINT K-SITTING-QUIETLY-MSG
JUMP ?CND4
?CCL14: IN? CH-HOLMES,TH-SOFA \?CCL18
CALL2 RT-PICK-NEXT,GL-HOLMES-DESC-TXT
PRINT STACK
PRINTI " is sitting on the sofa, gazing intently at you"
JUMP ?CND4
?CCL18: EQUAL? GL-PLACE-CUR,RM-ENTRY-HALL,RM-PARLOUR,RM-VESTIBULE /?CTR19
EQUAL? GL-PLACE-CUR,RM-HOLMES-STUDY,RM-HOLMES-BEDROOM \?CCL20
?CTR19: CALL2 RT-PICK-NEXT,GL-HOLMES-DESC-TXT
PRINT STACK
CALL2 RT-PICK-NEXT,GL-HOLMES-HOUSE-LOOK-TXT
PRINT STACK
JUMP ?CND4
?CCL20: FSET? GL-PLACE-CUR,FL-INDOORS \?CCL24
CALL2 RT-PICK-NEXT,GL-HOLMES-DESC-TXT
PRINT STACK
CALL2 RT-PICK-NEXT,GL-HOLMES-INDOORS-LOOK-TXT
PRINT STACK
JUMP ?CND4
?CCL24: CALL2 RT-PICK-NEXT,GL-HOLMES-DESC-TXT
PRINT STACK
CALL2 RT-PICK-NEXT,GL-HOLMES-OUTDOORS-LOOK-TXT
PRINT STACK
?CND4: PRINTC 46
CRLF
RETURN 2
?CCL3: CALL2 RT-TELL-ABOUT?,CH-HOLMES
ZERO? STACK /?CCL26
EQUAL? GL-PRSA,V?WHO,V?WHAT \?CCL29
SET 'OBJ,GL-PRSO
JUMP ?CND27
?CCL29: SET 'OBJ,GL-PRSI
?CND27: CALL2 RT-HOLMES-DESCRIBE-MSG?,OBJ
ZERO? STACK \TRUE
PRINTR """You must draw your own inferences, Watson."""
?CCL26: CALL1 RT-WHO-WHAT-FAIL?
ZERO? STACK /?CCL34
RETURN 2
?CCL34: EQUAL? CONTEXT,K-M-WINNER \?CCL36
FSET? CH-HOLMES,FL-ASLEEP \?CCL39
ICALL2 RT-CTHEO-PRINT,CH-HOLMES
PRINT K-SEEMS-TO-HEAR-MSG
CRLF
RTRUE
?CCL39: EQUAL? GL-PRSA,V?HELLO \?CCL41
PRINTR "Holmes returns your greeting."
?CCL41: EQUAL? GL-PRSA,V?GOODBYE \?CCL43
PRINTR """Farewell for now, Watson."""
?CCL43: EQUAL? GL-PRSA,V?THANK \?CCL45
PRINTR """No need for thanks, Watson. The work itself is my reward."""
?CCL45: EQUAL? GL-PRSA,V?WHERE \?CCL47
EQUAL? GL-PRSO,TH-STETHOSCOPE \?CCL50
FSET? TH-STETHOSCOPE,FL-TOUCHED /?CCL50
PRINT K-CUSTOMARILY-KEEP-MSG
CRLF
RTRUE
?CCL50: CALL2 RT-VISIBLE?,GL-PRSO
ZERO? STACK /?CCL54
PRINTI """There's your problem in a nutshell, Watson. You see, but you do not observe. "
EQUAL? GL-PRSO,CH-HOLMES \?CCL57
PRINTI "I am "
JUMP ?CND55
?CCL57: EQUAL? GL-PRSO,CH-ME,CH-PLAYER \?CCL59
PRINTI "You are "
JUMP ?CND55
?CCL59: ICALL1 RT-CTHEO-PRINT
ICALL1 RT-IS-ARE-MSG
?CND55: PRINTR "right here!"""
?CCL54: PRINT K-WORK-OUT-YOURSELF-MSG
CRLF
RTRUE
?CCL47: EQUAL? GL-PRSA,V?WHO,V?WHAT \?CCL61
PRINT K-WORK-OUT-YOURSELF-MSG
CRLF
RTRUE
?CCL61: EQUAL? GL-PRSA,V?YES \?CCL63
PRINT K-GOOD-SHOW-MSG
CRLF
RTRUE
?CCL63: EQUAL? GL-PRSA,V?NO \?CCL65
PRINT K-PITY-MSG
CRLF
RTRUE
?CCL65: EQUAL? GL-PRSA,V?MAYBE \?CCL67
PRINT K-MAYBE-MSG
CRLF
RTRUE
?CCL67: EQUAL? GL-PRSA,V?TAKE \?PRD71
EQUAL? GL-PRSO,TH-BREATH /?CTR68
?PRD71: EQUAL? GL-PRSA,V?INHALE \?CCL69
?CTR68: FSET? TH-BREATH,FL-LOCKED \?CND74
PRINTR "Holmes seems to be holding his breath already."
?CND74: PRINTI "Holmes hears your whispered instruction, and as you draw a deep breath, he surreptitiously does the same."
CRLF
CALL RT-DO-CLOCK-SET,GL-TIME-PARM,0,2,0
ICALL RT-ALARM-SET-REL,RT-I-EXHALE,STACK
FSET TH-BREATH,FL-LOCKED
SET 'GL-CLOCK-WAIT,TRUE-VALUE
RTRUE
?CCL69: CALL1 RT-TOUCH-VERB?
ZERO? STACK /?CCL77
FSET? CH-HOLMES,FL-LOCKED \?CCL77
PRINTR "Holmes can't do that. He is tied up."
?CCL77: EQUAL? GL-PRSA,V?TAKE,V?WEAR \?CCL81
EQUAL? GL-PRSO,TH-RING /?CTR80
EQUAL? GL-PRSO,TH-ETHERIUM-AMPOULE \?CCL81
FSET? TH-ETHERIUM-AMPOULE,FL-BROKEN /?CCL81
?CTR80: PRINT K-PLEASE-KEEP-IT-MSG
CRLF
RTRUE
?CCL81: EQUAL? GL-PRSA,V?RAISE,V?TAKE \?CCL89
EQUAL? GL-PRSO,CH-PLAYER,CH-ME \?CCL89
PRINTI "Holmes struggles to lift you"
IN? CH-PLAYER,TH-BOAT \?CND92
PRINTI ", the boat starts to rock violently"
?CND92: PRINTR ", then he thinks better of it and abandons the attempt."
?CCL89: EQUAL? GL-PRSA,V?TAKE,V?GUESS,V?DROP /FALSE
EQUAL? GL-PRSA,V?GIVE-SWP /FALSE
EQUAL? GL-PRSA,V?READ,V?EXAMINE,V?LOOK-ON /?PRD101
EQUAL? GL-PRSA,V?LOOK-INSIDE,V?OPEN,V?SEARCH \?CCL99
?PRD101: EQUAL? GL-PRSO,TH-MAIL \?CCL99
PRINTR "Holmes glances at the envelopes and shrugs. ""They are of no consequence, Watson."""
?CCL99: EQUAL? GL-PRSA,V?PLAY \?CCL105
EQUAL? GL-PRSO,TH-VIOLIN \?CCL105
IN? TH-VIOLIN,CH-HOLMES /?CCL110
PRINTI "Holmes is not holding "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL110: ICALL2 SOUNDS,S-VIOLIN
PRINTR "Holmes pauses for a moment in meditation, then lifts the violin to his chin and plays a brief, haunting melody whose melancholy notes fill the air with beauty. Then, just as quickly, he is finished."
?CCL105: EQUAL? GL-PRSA,V?GIVE \?CCL112
EQUAL? GL-PRSI,CH-ME,CH-PLAYER \?CCL112
IN? GL-PRSO,CH-HOLMES \?CCL117
MOVE GL-PRSO,CH-PLAYER
PRINTI "Holmes gives you "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL117: EQUAL? GL-PRSO,TH-RING \?CCL119
IN? TH-RING,LOCAL-GLOBALS \?CCL119
PRINTR "Holmes says, ""I haven't mentioned any ring, Watson."""
?CCL119: PRINTI "Holmes says, ""I do not have "
ICALL1 RT-THEO-PRINT
PRINTR "."""
?CCL112: EQUAL? GL-PRSA,V?FOLLOW \?CCL123
IN? CH-HOLMES,TH-SOFA \?CCL126
PRINTR "Holmes says, ""We shouldn't leave until we have spoken with our visitor."""
?CCL126: EQUAL? GL-PRSO,CH-ME,CH-PLAYER \?CCL128
PRINTI "Holmes says, ""Lead the way, Watson."""
CRLF
SET 'GL-PUPPY,CH-HOLMES
RETURN GL-PUPPY
?CCL128: PRINTR "Holmes says, ""We should remain together, Watson."""
?CCL123: PRINTR """Come now, Watson. You must try it yourself."""
?CCL36: ZERO? GL-NOW-PRSI? /?CCL130
EQUAL? GL-PRSA,V?GIVE \?CCL133
EQUAL? GL-PRSO,TH-NEWSPAPER \?CCL136
FSET? CH-HOLMES,FL-ASLEEP /FALSE
?CCL136: FSET? CH-HOLMES,FL-ASLEEP \?CCL140
PRINTI "Holmes glances at "
ICALL1 RT-THEO-PRINT
PRINTR ", but it doesn't seem to arouse his interest."
?CCL140: FSET? CH-HOLMES,FL-LOCKED \?CCL142
PRINTR "Holmes's hands aren't free. You can't give him anything."
?CCL142: EQUAL? GL-PRSO,TH-RING /?CTR143
EQUAL? GL-PRSO,TH-ETHERIUM-AMPOULE \?CCL144
FSET? TH-ETHERIUM-AMPOULE,FL-BROKEN /?CCL144
?CTR143: PRINT K-PLEASE-KEEP-IT-MSG
CRLF
RTRUE
?CCL144: MOVE GL-PRSO,CH-HOLMES
ICALL RT-CYOU-MSG,STR?711,STR?712
ICALL1 RT-THEO-PRINT
PRINTI " to him. He examines it briefly and says, "
CALL2 RT-HOLMES-DESCRIBE-MSG?,GL-PRSO
ZERO? STACK \TRUE
PRINTR """Hmmph."""
?CCL133: EQUAL? GL-PRSA,V?SHOW \FALSE
EQUAL? GL-PRSO,TH-NEWSPAPER \?CCL156
FSET? CH-HOLMES,FL-ASLEEP /FALSE
?CCL156: CALL2 RT-HOLMES-DESCRIBE-MSG?,GL-PRSO
ZERO? STACK \TRUE
PRINTI "Holmes glances at "
ICALL1 RT-THEO-PRINT
PRINTR ", but makes no comment."
?CCL130: ZERO? GL-NOW-PRSI? \FALSE
EQUAL? GL-PRSA,V?DIAGNOSE \?CCL165
FSET? CH-HOLMES,FL-ASLEEP \FALSE
PRINTR "He is in a trance-like state as he stares at the phial. You quickly realize that unless he hears something of interest, he will turn to the deadly drug to relieve his boredom."
?CCL165: EQUAL? GL-PRSA,V?HIT,V?ALARM \?CCL170
FSET? CH-HOLMES,FL-ASLEEP \FALSE
PRINT K-HOLMES-DISTRACTION-MSG
CRLF
RTRUE
?CCL170: EQUAL? GL-PRSA,V?ASK-FOR \?CCL175
FSET? CH-HOLMES,FL-ASLEEP \?CCL178
PRINTR "Holmes does not respond."
?CCL178: FSET? CH-HOLMES,FL-LOCKED \?CCL180
PRINTR "Holmes can't give you anything. He is tied up."
?CCL180: EQUAL? GL-PRSI,TH-RING \?CCL182
IN? TH-RING,LOCAL-GLOBALS \?CCL182
PRINTR "Holmes says, ""I haven't mentioned any ring, Watson."""
?CCL182: IN? GL-PRSI,CH-HOLMES \?CCL186
MOVE GL-PRSI,CH-PLAYER
PRINTI "Holmes gives you "
ICALL1 RT-THEI-PRINT
PRINTR "."
?CCL186: PRINTI "Holmes says, ""I do not have "
ICALL1 RT-THEI-PRINT
PRINTR "."""
?CCL175: EQUAL? GL-PRSA,V?TELL-ABOUT \FALSE
EQUAL? GL-PRSI,LG-TOWER,TH-NEWSPAPER,CH-PRIME-MINISTER \?CCL191
FSET? CH-HOLMES,FL-ASLEEP \?CCL191
FSET GL-PRSI,FL-HOLMES-TOLD
CALL1 RT-WAKE-UP-HOLMES
RSTACK
?CCL191: FSET? CH-HOLMES,FL-ASLEEP \?CCL195
ICALL2 RT-CTHEO-PRINT,CH-HOLMES
PRINT K-SEEMS-TO-HEAR-MSG
CRLF
RTRUE
?CCL195: FSET? GL-PRSI,FL-HOLMES-TOLD /?CCL197
FSET GL-PRSI,FL-HOLMES-TOLD
PRINTR "Holmes nods thoughtfully and says, ""Most interesting, old fellow."""
?CCL197: PRINTI """Don't be tedious, Watson. You have mentioned "
ICALL2 RT-SAY-HIM-HER-THEM-IT-MSG,GL-PRSI
PRINTR " to me already."""
.FUNCT RT-HOLMES-SAYS-AGRA-MSG
PRINTI " says, ""It's obviously not one of the Crown Jewels, Watson. In fact, this gem belongs to the Agra treasure, which was stolen in India many years ago and has never been recovered."""
CRLF
CRLF
PRINTR """The case grows more complex, Watson. We are in more danger than I had at first suspected."" He removes a ring from one of his long, slender fingers and hands it to you. ""Here, Watson. Take this signet ring of mine. If anything should happen to me, take it to my brother Mycroft at the Diogenes Club. He'll tell you what to do."""
.FUNCT RT-HOLMES-DESCRIBE-MSG?,OBJ,WRD
FSET? CH-HOLMES,FL-ASLEEP \?CCL3
ICALL2 RT-CTHEO-PRINT,CH-HOLMES
PRINT K-SEEMS-TO-HEAR-MSG
CRLF
RTRUE
?CCL3: FSET? CH-MORIARTY,FL-LOCKED \?CCL5
PRINTR """There is no time for questions, Watson. We must get the Crown Jewels to Buckingham Palace before nine o'clock."""
?CCL5: EQUAL? GL-PRSA,V?WHO \?CCL7
EQUAL? GL-PRSO,CH-HOLMES \?CCL7
PRINTR """Watson, as my biographer, you know me as well as anyone."""
?CCL7: EQUAL? OBJ,CH-MORIARTY \?CCL11
FSET? CH-HOLMES,FL-LOCKED \?CCL14
PRINTR """He appears to have the upper hand, Watson."""
?CCL14: PRINTR """He is the Napoleon of crime, Watson. He is the organizer of half that is evil and of nearly all that is undetected in this great city."""
?CCL11: CALL RT-IDENTIFY-EVENT?,W?MYCROFT,OBJ
ZERO? STACK /?CCL16
PRINTR """Mycroft is my older brother, of whom you have heard me speak. As you know, he is a highly placed official within Her Majesty's government. Because of the confidential nature of his work, you cannot call upon him in his offices. However, he is usually to be found in his club, just off Trafalgar Square."""
?CCL16: EQUAL? OBJ,CH-HOLMES \?CCL18
PRINTR """I'm well, Watson. Thank you for asking."""
?CCL18: EQUAL? OBJ,CH-PRIME-MINISTER \?CCL20
IN? CH-PRIME-MINISTER,RM-HOLMES-STUDY \?CCL23
PRINTR """Hush, my friend. Wait until we're alone."""
?CCL23: FSET? CH-PRIME-MINISTER,FL-SEEN /?CCL25
PRINTR """I haven't seen this visitor of whom you speak, Watson, but surely it is obvious that he has come because the Crown Jewels have been stolen from the Tower of London."""
?CCL25: PRINTR """Surely you recognized him, old fellow. He is the Prime Minister of England."""
?CCL20: EQUAL? OBJ,CH-QUEEN \?CCL27
PRINTR """She must be worried, Watson. We must get the gems back for her."""
?CCL27: EQUAL? OBJ,CH-WIGGINS \?CCL29
PRINTR """Surely you remember him, dear fellow. He is the head of the Baker Street Irregulars."""
?CCL29: CALL RT-IDENTIFY-EVENT?,W?LESTRADE,OBJ
ZERO? STACK /?CCL31
PRINTR """Be kind to him, Watson. He has delusions of adequacy."""
?CCL31: CALL RT-IDENTIFY-EVENT?,W?THEFT,OBJ
ZERO? STACK /?CCL33
PRINTR """We must recover the jewels and return them to the Palace. The alternative is too horrible to consider."""
?CCL33: EQUAL? OBJ,TH-CROWN-JEWELS \?CCL35
PRINTR """We must recover them and return them to the Palace. The alternative is too horrible to consider."""
?CCL35: EQUAL? OBJ,LG-TOWER /?CTR36
CALL RT-IDENTIFY-EVENT?,W?THEFT,OBJ
ZERO? STACK /?CCL37
?CTR36: PRINTR """The Tower is the safest stronghold in the nation. Our adversary must be formidable indeed."""
?CCL37: CALL RT-IDENTIFY-EVENT?,W?JUBILEE,OBJ
ZERO? STACK /?CCL41
PRINTR """The Coronation Day festivities begin Monday morning at 9:00. We must recover the Crown Jewels before then."""
?CCL41: EQUAL? OBJ,LG-TOMBS-ABBEY \?CCL43
PRINTR """It is the burial place of our royalty, Watson. The spiritual centre of the empire."""
?CCL43: CALL RT-IDENTIFY-EVENT?,W?PASSWORD,OBJ
ZERO? STACK /?CCL45
FSET? CH-HOLMES,FL-LOCKED \?CCL48
PRINTR """Obviously you were able to deduce it without my help, Watson. Good show!"""
?CCL48: PRINTR """Patience, old fellow. We are not yet in possession of all the facts."""
?CCL45: EQUAL? OBJ,TH-WALL /?CTR49
CALL RT-IDENTIFY-FLOOR?,W?GROUND,OBJ
ZERO? STACK \?CTR49
CALL RT-IDENTIFY-FLOOR?,W?FLOOR,OBJ
ZERO? STACK /?CCL50
?CTR49: PRINTR """No need to ask about that, old fellow. I'll tell you straight away if I find anything of interest."""
?CCL50: CALL RT-IDENTIFY-FLOOR?,W?SKY,OBJ
ZERO? STACK /?CCL55
PRINTI "Holmes glances up and says, ""It's an uncommonly fine "
CALL1 RT-TIME-OF-DAY
ZERO? STACK \?CCL58
PRINTI "night"
JUMP ?CND56
?CCL58: CALL1 RT-TIME-OF-DAY
EQUAL? STACK,1 \?CCL60
PRINTI "morning"
JUMP ?CND56
?CCL60: CALL1 RT-TIME-OF-DAY
EQUAL? STACK,2 \?CCL62
PRINTI "day"
JUMP ?CND56
?CCL62: PRINTI "evening"
?CND56: PRINTR ", Watson."""
?CCL55: EQUAL? OBJ,TH-STETHOSCOPE \?CCL64
FSET? TH-STETHOSCOPE,FL-TOUCHED /?CCL64
PRINT K-CUSTOMARILY-KEEP-MSG
CRLF
RTRUE
?CCL64: CALL RT-IDENTIFY-EVENT?,W?HENRY,OBJ
ZERO? STACK /?CCL68
PRINTR """He was the son of John of Gaunt, and the father of Henry V."""
?CCL68: CALL RT-IDENTIFY-EVENT?,W?WELLINGTON,OBJ
ZERO? STACK /?CCL70
PRINTR """My dear fellow, your memory is fading prematurely. Surely you remember that the Duke of Wellington was the hero of the battle of Waterloo."""
?CCL70: CALL RT-IDENTIFY-EVENT?,W?TOBY,OBJ
ZERO? STACK /?CCL72
PRINTI """He is a noble hound whose olfactory prowess is unrivaled."
FSET? CH-SHERMAN,FL-SEEN \?CND73
PRINTI " It is unfortunate that he is unavailable to help us in our quest."
?CND73: PRINTR """"
?CCL72: CALL RT-IDENTIFY-EVENT?,W?AGRA,OBJ
ZERO? STACK /?CCL76
PRINTR """The Agra treasure disappeared during the Sepoy rebellion in India. Clearly it has found its way to London."""
?CCL76: CALL RT-IDENTIFY-EVENT?,W?KIDNAPPING,OBJ
ZERO? STACK /?CCL78
BTST MYCROFT-STATE,4 /?CCL81
PRINT K-NEVER-THEORIZE-MSG
CRLF
RTRUE
?CCL81: PRINTR """The professor was as surprised as we, Watson. Evidently it was a mistake on the part of one of his minions."""
?CCL78: EQUAL? OBJ,CH-HUDSON \?CCL83
PRINTR """A splendid housekeeper, Watson, although she worries about me too much."""
?CCL83: EQUAL? OBJ,CH-PLAYER,CH-ME \?CCL85
PRINTR """Good old Watson! You are the one fixed point in a changing age. I am honoured that you have become my biographer."""
?CCL85: EQUAL? OBJ,TH-PHIAL,TH-SYRINGE,TH-LIQUID \?CCL87
PRINTR "Holmes gives you a grateful look and says, ""We need no longer worry about that, Watson, thanks to your timely intervention."""
?CCL87: FSET? OBJ,FL-SEEN /?CCL89
PRINT K-NEVER-THEORIZE-MSG
CRLF
RTRUE
?CCL89: EQUAL? OBJ,CH-MATCH-SNIFFING-DOG \?CCL91
PRINTR """It's not the Hound of the Baskervilles. But I certainly wouldn't care to make it angry."""
?CCL91: EQUAL? OBJ,CH-TUSSAUDS-GUARD \?CCL93
PRINTR """Beyond the obvious facts that he is left-handed, ate kippers for breakfast, and had a poor night's sleep, I can tell you that he is a good, honest workman. Britain could use more like him."""
?CCL93: EQUAL? OBJ,CH-TRAINED-PIGEON \?CCL95
PRINTI """A fine bird, Watson."
CALL2 RT-VISIBLE?,CH-TRAINED-PIGEON
ZERO? STACK /?CND96
PRINTI " Note the broad band on his wing that distinguishes his breed from all others."
?CND96: PRINTR """"
?CCL95: EQUAL? OBJ,CH-SHERMAN \?CCL99
PRINTR """Oh, he's an old friend of mine. He has an extraordinary bloodhound named Toby who has been of invaluable assistance to me in the past."""
?CCL99: EQUAL? OBJ,CH-BANK-GUARD \?CCL101
PRINTR """Watch him carefully, Watson. He is a petty criminal on the lowest rung of Moriarty's organization. He's not to be trusted."""
?CCL101: EQUAL? OBJ,CH-AKBAR \?CCL103
PRINTR """He is the gentleman from India whom we discussed earlier."""
?CCL103: EQUAL? OBJ,CH-DENKEEPER \?CCL105
PRINTR """Be careful of him Watson. He is one of Moriarty's minions."""
?CCL105: EQUAL? OBJ,CH-LIBRARIAN \?CCL107
PRINTR """He's just a harmless old fellow who is starved for companionship. It's a wonder he hasn't retired and joined his twin brother who lives in New Zealand."""
?CCL107: EQUAL? OBJ,CH-URCHINS \?CCL109
PRINTR """They're all members of the Baker Street Irregulars."""
?CCL109: EQUAL? OBJ,CH-VENDOR \?CCL111
PRINTR """He's harmless enough, although his goods are terribly overpriced."""
?CCL111: EQUAL? OBJ,CH-GROWLER-CABBIE \?CCL113
PRINTR """He doesn't seem very bright, does he?"""
?CCL113: EQUAL? OBJ,CH-HANSOM-CABBIE \?CCL115
PRINTR """It's clear that he has a loving wife and that he is a retired marine sergeant. Beyond that I can tell you little."""
?CCL115: EQUAL? OBJ,CH-BUTLER \?CCL117
PRINTR """He's a supercilious old coot who ought to be stuffed."""
?CCL117: EQUAL? OBJ,CH-NANNIES \?CCL119
PRINTR """They are the backbone of the empire, Watson."""
?CCL119: EQUAL? OBJ,CH-PALACE-GUARD \?CCL121
PRINTR """He is obviously one of the Queen's finest - dedicated, loyal, and completely incorruptible."""
?CCL121: EQUAL? OBJ,CH-TOWER-GUARD \?CCL123
PRINTR """I can tell you little about him, other than that he is incorruptible, he lives near Wandsworth Common, and he once worked in a tin mine."""
?CCL123: EQUAL? OBJ,CH-ELIZA-DOOLITTLE \?CCL125
FSET? CH-ELIZA-DOOLITTLE,FL-ASLEEP \?CCL128
PRINTR """I bow to your medical expertise, doctor. What is your diagnosis?"""
?CCL128: PRINTR """You saved her life, Watson. Professor Higgins will be most grateful."""
?CCL125: EQUAL? OBJ,LG-RAVENS \?CCL130
PRINTR """According to the legend, when the ravens leave the Tower of London, the British Empire will fall."""
?CCL130: EQUAL? OBJ,TH-GUN,TH-TOBACCO,TH-PERSIAN-SLIPPER /?CTR131
EQUAL? OBJ,TH-MAGNIFYING-GLASS,TH-LAMP,TH-BED /?CTR131
EQUAL? OBJ,TH-BEDSIDE-TABLE,TH-PIPE \?CCL132
?CTR131: PRINTR """Surely you remember it, Watson. Little has changed in the time since you left."""
?CCL132: EQUAL? OBJ,TH-WATSONS-HAT,TH-STETHOSCOPE,TH-POCKET /?CTR136
EQUAL? OBJ,TH-WATSONS-COAT,TH-BLACK-BAG,TH-CAB-WHISTLE \?CCL137
?CTR136: PRINTR """Other than the obvious fact that it belongs to you, I can tell you nothing."""
?CCL137: EQUAL? OBJ,TH-BLUE-PILL-BOTTLE,TH-BROWN-PILL-BOTTLE,TH-ORANGE-PILL /?CTR140
EQUAL? OBJ,TH-YELLOW-PILL \?CCL141
?CTR140: PRINTR """Surely you know more about it than I, Doctor."""
?CCL141: EQUAL? OBJ,TH-LAB-EQUIPMENT,TH-ETHERIUM-GAS,TH-ETHERIUM-AMPOULE /?CTR144
EQUAL? OBJ,TH-WORKBENCH \?CCL145
?CTR144: PRINTR "Holmes glances around quickly and then whispers, ""I know I can trust your discretion, Watson, but you must promise to keep this under your hat. I have been conducting secret experiments for the government at Mycroft's request, and I have developed a new knockout gas that I call 'etherium.' It is an extremely powerful derivative of ether, and one ampoule of it will render unconscious an entire room of people for several hours. It has no harmful side effects, but it is highly explosive and extremely dangerous to use near open flames. You may keep it if you wish, but please carry it in a secure place, safe from prying eyes."""
?CCL145: EQUAL? OBJ,TH-CHARLES-STATUE \?CCL149
PRINTR """He is the only English king to have been beheaded."""
?CCL149: EQUAL? OBJ,TH-WILLIAM-STATUE \?CCL151
PRINTR """They say when he first came ashore, he stumbled and fell, and his soldiers took it as a bad omen. But then he arose with two fistfuls of sand and shouted, 'See! Already I have taken my kingdom into my grasp.' His men cheered and they marched on to victory at the Battle of Hastings."""
?CCL151: EQUAL? OBJ,TH-WALTER-STATUE \?CCL153
PRINTR """His chivalry did him no good. Although a favourite of the Queen for many years, his life ended on the executioner's block."""
?CCL153: EQUAL? OBJ,TH-VIOLIN \?CCL155
PRINTR """It's a Stradivarius."""
?CCL155: EQUAL? OBJ,TH-RING \?CCL157
PRINTR """It's an heirloom that's been in my family for generations."""
?CCL157: EQUAL? OBJ,TH-TRINKETS \?CCL159
PRINTR """They've been marked up for the Jubilee. I certainly wouldn't pay full price for them."""
?CCL159: EQUAL? OBJ,TH-WESTMINSTER-CLUE \?CCL161
PRINTR """Most curious, don't you agree Watson? All thieves unintentionaly leave behind clues that are discernable to the trained eye. But it is highly irregular for a thief to taunt the authorities with an actual message. Especially one with references as obvious as this."""
?CCL161: EQUAL? OBJ,TH-RUBY,TH-EMERALD,TH-SAPPHIRE /?CTR162
EQUAL? OBJ,TH-GARNET,TH-OPAL,TH-TOPAZ \?CCL163
?CTR162: BAND CH-HOLMES-AUX1,K-HOLMES-GEM?
ZERO? STACK /?CCL168
PRINTR """We have already discussed the significance of these gems, Watson."""
?CCL168: FSET? OBJ,FL-TOUCHED \?CCL170
BOR CH-HOLMES-AUX1,K-HOLMES-GEM? >CH-HOLMES-AUX1
MOVE TH-RING,CH-PLAYER
FSET TH-RING,FL-SEEN
FSET TH-RING,FL-TOUCHED
FCLEAR TH-RING,FL-NODESC
PRINTI "Holmes"
ICALL1 RT-HOLMES-SAYS-AGRA-MSG
GETP TH-RING,P?VALUE
ICALL2 RT-UPDATE-SCORE,STACK
PUTP TH-RING,P?VALUE,0
RTRUE
?CCL170: PRINTR """We haven't had a good enough look at it yet, old fellow."""
?CCL163: EQUAL? OBJ,TH-ASH \FALSE
PRINTC 34
CALL2 RT-VISIBLE?,TH-ASH
ZERO? STACK /?CND173
PRINTI "Note the characteristic texture, Watson. "
?CND173: PRINTI "It is the ash of a Trichinopoly cigar, which is made from the dark tobacco that grows only in the Madras district of India."
CRLF
CRLF
PRINTR "Unless I miss my guess, Watson, our mastermind friend has joined forces with an Indian accomplice who does his dirty work for him."""
.FUNCT RT-AC-CH-MATCH-SNIFFING-DOG,CONTEXT
ICALL2 RT-THIS-IS-IT,CH-MATCH-SNIFFING-DOG
EQUAL? CONTEXT,K-M-DESCFCN \?CND1
ICALL2 RT-CTHEO-PRINT,CH-MATCH-SNIFFING-DOG
PRINTR " glares back at you menacingly."
?CND1: EQUAL? CONTEXT,K-M-WINNER \?CCL5
ICALL2 RT-CTHEO-PRINT,CH-MATCH-SNIFFING-DOG
PRINT K-GNAWS-MSG
CRLF
RTRUE
?CCL5: ZERO? GL-NOW-PRSI? /?CCL7
EQUAL? GL-PRSA,V?GIVE,V?SHOW \FALSE
EQUAL? GL-PRSO,TH-TOBACCO /?PRD14
FSET? GL-PRSO,FL-BURNABLE \?PRD14
FSET? GL-PRSO,FL-LIGHTED /?CTR9
?PRD14: EQUAL? GL-PRSO,TH-MATCH \?PRD18
FSET? GL-PRSO,FL-BURNABLE /?CTR9
?PRD18: EQUAL? GL-PRSO,TH-LAMP \FALSE
?CTR9: ICALL SOUNDS,S-BARK,S-START,8,4
ICALL1 RT-CTHEI-PRINT
PRINTI " barks loudly at "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL7: ZERO? GL-NOW-PRSI? \FALSE
EQUAL? GL-PRSA,V?TOUCH,V?KICK \?CCL25
PRINTR "A quick snap and a glimpse of flashing teeth changes your mind."
?CCL25: EQUAL? GL-PRSA,V?LISTEN \?CCL27
ICALL1 RT-CTHEO-PRINT
PRINTI " growls at you."
CRLF
ICALL2 SOUNDS,S-GROWL
RTRUE
?CCL27: EQUAL? GL-PRSA,V?ASK-FOR,V?ASK-ABOUT \?CCL29
ICALL2 RT-CTHEO-PRINT,CH-MATCH-SNIFFING-DOG
PRINT K-GNAWS-MSG
CRLF
RTRUE
?CCL29: EQUAL? GL-PRSA,V?SHOOT \FALSE
EQUAL? GL-PRSO,CH-MATCH-SNIFFING-DOG \FALSE
ICALL RT-CYOU-MSG,STR?713,STR?714
PRINTI "the unfortunate dog. The guard, enraged by this callous behavior, wrestles you to the ground and calls for a policeman. Lestrade pops up out of nowhere and says, ""Tut, tut. Killing a poor defenceless dog now, is it? You should be ashamed of yourself."""
CRLF
CRLF
PRINTI "He hauls you away and enrolls you in a six-month course sponsored by the RSPCA which teaches you to love animals and eat vegetables. You emerge from the course a better man. Unfortunately no one cares because by then the country has gone to the dogs."
CRLF
CRLF
ICALL1 RT-QSR
RFALSE
.FUNCT RT-AC-CH-TUSSAUDS-GUARD,CONTEXT,OBJ
ICALL2 RT-THIS-IS-IT,CH-TUSSAUDS-GUARD
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
ICALL2 RT-CTHEO-PRINT,CH-TUSSAUDS-GUARD
PRINTR " has his collar turned up against the cold. He is pacing back and forth, puffing on a cigarette, and stamping his feet, all in a futile effort to keep warm."
?CCL3: EQUAL? GL-PRSA,V?ASK-FOR \?CCL5
EQUAL? GL-PRSI,TH-CIGARETTE \?CCL5
PRINTR """Sorry, sir. I'm running low."""
?CCL5: EQUAL? GL-PRSA,V?ASK-ABOUT \?CCL9
EQUAL? GL-PRSI,TH-CIGARETTE \?CCL9
PRINTR """I'm a chain smoker. Fortunately, the dog doesn't seem to mind."""
?CCL9: CALL2 RT-TELL-ABOUT?,CH-TUSSAUDS-GUARD
ZERO? STACK /?CCL13
EQUAL? GL-PRSA,V?WHO,V?WHAT \?CCL16
SET 'OBJ,GL-PRSO
JUMP ?CND14
?CCL16: SET 'OBJ,GL-PRSI
?CND14: PRINT K-ON-DUTY-MSG
CRLF
RTRUE
?CCL13: CALL1 RT-WHO-WHAT-FAIL?
ZERO? STACK /?CCL18
RETURN 2
?CCL18: EQUAL? CONTEXT,K-M-WINNER \?CCL20
EQUAL? GL-PRSA,V?WHERE \?CCL23
CALL2 RT-VISIBLE?,GL-PRSO
ZERO? STACK /?CCL23
PRINTR """Right here, sir."""
?CCL23: EQUAL? GL-PRSA,V?YES \?CCL27
PRINT K-GOOD-SHOW-MSG
CRLF
RTRUE
?CCL27: EQUAL? GL-PRSA,V?NO \?CCL29
PRINT K-PITY-MSG
CRLF
RTRUE
?CCL29: EQUAL? GL-PRSA,V?MAYBE \?CCL31
PRINT K-MAYBE-MSG
CRLF
RTRUE
?CCL31: PRINT K-ON-DUTY-MSG
CRLF
RTRUE
?CCL20: ZERO? GL-NOW-PRSI? /?CCL33
EQUAL? GL-PRSA,V?TAKE \FALSE
CALL RT-IMPOLITE-MSG,STR?715,STR?716
RSTACK
?CCL33: ZERO? GL-NOW-PRSI? /FALSE
RFALSE
.FUNCT RT-PIGEON-PANIC
MOVE CH-TRAINED-PIGEON,CH-PLAYER
ICALL2 RT-CTHEO-PRINT,CH-TRAINED-PIGEON
PRINTR " flies about in a panic for a few moments and then flies right back into your hands."
.FUNCT RT-PIGEON-FLY
PRINTI " flies up into the air"
EQUAL? GL-PLACE-CUR,RM-TRAFALGAR-SQUARE \?CND1
SET 'CH-TRAINED-PIGEON-AUX3,TH-RED-GLASS
BAND CH-TRAINED-PIGEON-AUX1,K-PIGEON-SHOWN-RUBY
ZERO? STACK /?CCL5
BAND CH-TRAINED-PIGEON-AUX1,K-PIGEON-GET-RUBY
ZERO? STACK /?CCL5
PRINTI ", gets "
ICALL2 RT-THEO-PRINT,TH-RUBY
PRINTC 44
SET 'CH-TRAINED-PIGEON-AUX3,TH-RUBY
JUMP ?CND1
?CCL5: BAND CH-TRAINED-PIGEON-AUX1,K-PIGEON-SHOWN-RUBY
ZERO? STACK /?CCL9
PRINTI ", sees "
ICALL2 RT-THEO-PRINT,TH-RUBY
PRINTI " and "
ICALL2 RT-A-PRINT,TH-RED-GLASS
PRINTI " that you didn't see, chooses "
ICALL2 RT-THEO-PRINT,TH-RED-GLASS
PRINTC 44
JUMP ?CND1
?CCL9: BAND CH-TRAINED-PIGEON-AUX1,K-PIGEON-GET-RUBY
ZERO? STACK /?CND1
PRINTI ", sees "
ICALL2 RT-A-PRINT,TH-RED-GLASS
PRINTI " that you didn't see, gets it,"
?CND1: ZERO? CH-TRAINED-PIGEON-AUX3 /?CND11
FSET CH-TRAINED-PIGEON-AUX3,FL-TAKEABLE
MOVE CH-TRAINED-PIGEON-AUX3,CH-TRAINED-PIGEON
?CND11: MOVE CH-TRAINED-PIGEON,GL-PLACE-CUR
FSET CH-TRAINED-PIGEON,FL-NODESC
SET 'CH-TRAINED-PIGEON-AUX2,1
CALL RT-DO-CLOCK-SET,GL-TIME-PARM,0,1,0
ICALL RT-ALARM-SET-REL,RT-I-PIGEON-CIRCLE,STACK
PRINTR " and starts to circle high over your head."
.FUNCT RT-AC-CH-TRAINED-PIGEON,CONTEXT,OBJ
ICALL2 RT-THIS-IS-IT,CH-TRAINED-PIGEON
EQUAL? CONTEXT,K-M-DESCFCN \?CCL3
IN? CH-TRAINED-PIGEON,CH-SHERMAN \?CCL6
ICALL2 DPRINT,CH-SHERMAN
PRINTI " is holding "
ICALL2 RT-THEO-PRINT,CH-TRAINED-PIGEON
JUMP ?CND4
?CCL6: ZERO? CH-TRAINED-PIGEON-AUX2 \TRUE
ICALL2 RT-CTHEO-PRINT,CH-TRAINED-PIGEON
BAND CH-TRAINED-PIGEON-AUX1,K-PIGEON-SHOWN-RUBY
ZERO? STACK /?CCL11
BAND CH-TRAINED-PIGEON-AUX1,K-PIGEON-GET-RUBY
ZERO? STACK /?CCL11
PRINTI " trembles with excitement"
JUMP ?CND4
?CCL11: ADD K-PIGEON-SHOWN-RUBY,K-PIGEON-GET-RUBY
BAND CH-TRAINED-PIGEON-AUX1,STACK
ZERO? STACK /?CCL15
PRINTI " looks interested"
JUMP ?CND4
?CCL15: PRINTI " doesn't seem interested in anything"
?CND4: PRINTR "."
?CCL3: CALL2 RT-TELL-ABOUT?,CH-TRAINED-PIGEON
ZERO? STACK /?CCL17
EQUAL? GL-PRSA,V?WHO,V?WHAT \?CCL20
SET 'OBJ,GL-PRSO
JUMP ?CND18
?CCL20: SET 'OBJ,GL-PRSI
?CND18: PRINT K-CONFUSED-MSG
CRLF
RTRUE
?CCL17: CALL1 RT-WHO-WHAT-FAIL?
ZERO? STACK /?CCL22
RETURN 2
?CCL22: EQUAL? CONTEXT,K-M-WINNER \?CCL24
EQUAL? GL-PRSA,V?TAKE \?CCL27
EQUAL? GL-PRSO,TH-RUBY \?CCL27
ICALL2 RT-THIS-IS-IT,TH-RUBY
ICALL2 RT-PIGEON-INTEREST,K-PIGEON-GET-RUBY
RTRUE
?CCL27: PRINT K-CONFUSED-MSG
CRLF
RTRUE
?CCL24: EQUAL? GL-PRSA,V?PUT \?CCL31
ZERO? GL-NOW-PRSI? \?CCL31
EQUAL? GL-PRSI,TH-SHAFT \?CCL36
SET 'CH-TRAINED-PIGEON-AUX1,0
ICALL1 RT-PIGEON-PANIC
RTRUE
?CCL36: EQUAL? GL-PRSI,TH-POCKET \?CTR37
FSET? GL-PLACE-CUR,FL-INDOORS \?CCL38
?CTR37: ICALL1 RT-PIGEON-PANIC
RTRUE
?CCL38: PRINTI "As soon as"
ICALL RT-YOU-MSG,STR?717,STR?718
PRINTI "go of it, the pigeon"
ICALL1 RT-PIGEON-FLY
RTRUE
?CCL31: EQUAL? GL-PRSA,V?DROP,V?RELEASE,V?THROW \?CCL42
ZERO? GL-NOW-PRSI? \?CCL42
IN? CH-TRAINED-PIGEON,CH-PLAYER \?CCL47
ICALL2 RT-ALARM-CLR,RT-I-PIGEON-LOSE-INTEREST
ICALL2 RT-ALARM-CLR,RT-I-PIGEON-IMPATIENT
FSET? GL-PLACE-CUR,FL-INDOORS \?CCL50
ICALL1 RT-PIGEON-PANIC
SET 'CH-TRAINED-PIGEON-AUX1,0
RTRUE
?CCL50: ICALL2 RT-CTHEO-PRINT,CH-TRAINED-PIGEON
ICALL1 RT-PIGEON-FLY
RTRUE
?CCL47: ICALL1 RT-CYOU-MSG
PRINTR "would have to be holding the pigeon."
?CCL42: EQUAL? GL-PRSA,V?TAKE \?CCL52
ZERO? CH-TRAINED-PIGEON-AUX2 /?CCL55
ICALL1 RT-CYOU-MSG
PRINTI "cannot reach "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL55: IN? CH-TRAINED-PIGEON,CH-SHERMAN \FALSE
ICALL RT-IMPOLITE-MSG,STR?715,STR?716
RTRUE
?CCL52: EQUAL? GL-PRSA,V?ASK-FOR \?CCL59
ZERO? GL-NOW-PRSI? /?CCL59
ICALL1 RT-GET-PIGEON
RTRUE
?CCL59: EQUAL? GL-PRSA,V?SHOW \?CCL63
ZERO? GL-NOW-PRSI? /?CCL63
EQUAL? GL-PRSO,TH-RUBY \?CCL68
ICALL2 RT-THIS-IS-IT,TH-RUBY
ICALL2 RT-PIGEON-INTEREST,K-PIGEON-SHOWN-RUBY
RTRUE
?CCL68: PRINTI "The pigeon doesn't seem to be interested in "
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL63: EQUAL? GL-PRSA,V?KILL,V?SHOOT \?CCL70
EQUAL? GL-PRSO,CH-TRAINED-PIGEON \?CCL70
EQUAL? GL-PRSI,TH-GUN /?CTR74
EQUAL? GL-PRSA,V?SHOOT \?CCL75
?CTR74: CALL RT-META-IN?,GL-PRSO,CH-PLAYER
ZERO? STACK /?CCL80
PRINT K-DROP-IT-FIRST-MSG
CRLF
RTRUE
?CCL80: ZERO? CH-TRAINED-PIGEON-AUX2 /?CCL83
PRINTI "Flap. Flap. Flap. Thud."
CRLF
JUMP ?CND73
?CCL83: PRINTI "You shoot "
ICALL1 RT-THEO-PRINT
PRINTI " and it dies."
CRLF
JUMP ?CND73
?CCL75: EQUAL? GL-PRSI,TH-KNIFE /?CTR84
EQUAL? GL-P-PRSA-WORD,W?STAB \?CCL85
?CTR84: ZERO? CH-TRAINED-PIGEON-AUX2 /?CCL90
PRINTI "You throw "
ICALL1 RT-THEI-PRINT
PRINTI " at "
ICALL1 RT-THEO-PRINT
PRINTI ". Fortunately, it misses and falls on the ground nearby."
CRLF
MOVE GL-PRSI,GL-PLACE-CUR
RTRUE
?CCL90: PRINTI "You slice "
ICALL1 RT-THEO-PRINT
PRINTI " into luncheon meat and cry out, ""Squab, anyone?"""
CRLF
JUMP ?CND73
?CCL85: EQUAL? GL-PRSI,TH-HANDS \?CCL92
ZERO? CH-TRAINED-PIGEON-AUX2 /?CCL95
PRINTR "You can't reach the pigeon."
?CCL95: PRINTI "You throttle the poor bird."
CRLF
?CND73: ZERO? CH-TRAINED-PIGEON-AUX2 /?CND96
ZERO? CH-TRAINED-PIGEON-AUX3 /?CND96
MOVE CH-TRAINED-PIGEON-AUX3,GL-PLACE-CUR
?CND96: ICALL1 RT-KILL-PIGEON
RTRUE
?CCL92: PRINTI "You can't kill "
ICALL1 RT-THEO-PRINT
PRINTI " with "
ICALL1 RT-THEI-PRINT
PRINTR "."
?CCL70: EQUAL? GL-PRSA,V?TOUCH \?CCL101
ZERO? GL-NOW-PRSI? \?CCL101
ICALL1 RT-CTHEO-PRINT
PRINTR " coos and nuzzles your hand."
?CCL101: EQUAL? GL-PRSA,V?CALL \FALSE
ZERO? GL-NOW-PRSI? \FALSE
CALL RT-META-IN?,CH-TRAINED-PIGEON,GL-WINNER
ZERO? STACK /?CCL110
ICALL RT-CYOU-MSG,STR?705,STR?706
ICALL1 RT-THEO-PRINT
PRINTR "."
?CCL110: ZERO? CH-TRAINED-PIGEON-AUX2 /?CCL112
ICALL1 RT-CTHEO-PRINT
PRINTI " ignores "
EQUAL? GL-WINNER,CH-PLAYER,CH-ME \?CCL115
PRINTI "you"
JUMP ?CND113
?CCL115: ICALL2 RT-THEO-PRINT,GL-WINNER
?CND113: PRINTR ", intent on its task."
?CCL112: ICALL1 RT-CTHEO-PRINT
PRINTI " looks at"
ICALL1 RT-YOU-MSG
PRINTR "briefly, then loses interest."
.FUNCT RT-AC-CH-SHERMAN,CONTEXT,OBJ,OBJ1,P-OBJ,WHO
ICALL2 RT-THIS-IS-IT,CH-SHERMAN
EQUAL? CONTEXT,K-M-DESCFCN \?CND1
FSET? CH-SHERMAN,FL-ASLEEP \FALSE
PRINTR "Sherman is quite unconscious."
?CND1: SET 'P-OBJ,CH-TRAINED-PIGEON-AUX3
EQUAL? CONTEXT,K-M-WINNER \?CCL7
FSET? CH-SHERMAN,FL-ASLEEP \?CCL7
CALL2 RT-NO-CONDITION-MSG,GL-WINNER
RSTACK
?CCL7: CALL2 RT-TELL-ABOUT?,CH-SHERMAN
ZERO? STACK /?CCL11
EQUAL? GL-PRSA,V?WHO,V?WHAT \?CCL14
SET 'OBJ,GL-PRSO
JUMP ?CND12
?CCL14: SET 'OBJ,GL-PRSI
?CND12: FSET? CH-SHERMAN,FL-ASLEEP \?CCL17
ICALL2 RT-NO-CONDITION-MSG,CH-SHERMAN
RTRUE
?CCL17: EQUAL? OBJ,CH-TRAINED-PIGEON \?CCL19
BAND CH-TRAINED-PIGEON-AUX1,K-PIGEON-TIRED
ZERO? STACK /?CCL22
IN? P-OBJ,CH-SHERMAN \?CCL25
PRINTI "Sherman says, ""He came back with "
ICALL2 RT-A-PRINT,P-OBJ
PRINTI ". I don't know where he found it."" He gives you "
ICALL2 RT-THEO-PRINT,P-OBJ
PRINTC 46
CRLF
ICALL2 RT-PIGEON-OBJ,P-OBJ
RTRUE
?CCL25: PRINTR """He's resting now."""
?CCL22: PRINTR """He's a wonderful bird. All you have to do is show him something and tell him to get it, and away he goes. The only catch is, he only seems to like things that are red."""
?CCL19: CALL RT-IDENTIFY-EVENT?,W?TOBY,OBJ
ZERO? STACK /?CCL27
PRINTR """He seems to have a cold, which in his line of work renders him completely useless."""
?CCL27: EQUAL? OBJ,CH-SHERMAN \?CCL29
PRINTR """I'm well. Thank you for asking."""
?CCL29: EQUAL? OBJ,CH-HOLMES \?CCL31
PRINTR """Sherlock and me? We've been mates for years."""
?CCL31: EQUAL? OBJ,P-OBJ \?CCL33
IN? P-OBJ,CH-SHERMAN \?CCL33
PRINTI "Sherman says, ""The pigeon came back with "
ICALL2 RT-A-PRINT,P-OBJ
PRINTI ". I don't know where he found it."" He gives you "
ICALL2 RT-THEO-PRINT,P-OBJ
PRINTC 46
CRLF
ICALL2 RT-PIGEON-OBJ,P-OBJ
RTRUE
?CCL33: PRINTI """I don't know anything about "
ICALL2 RT-THEO-PRINT,OBJ
PRINTR "."""
?CCL11: CALL1 RT-WHO-WHAT-FAIL?
ZERO? STACK /?CCL37
RETURN 2
?CCL37: EQUAL? CONTEXT,K-M-WINNER \?CCL39
EQUAL? GL-PRSA,V?TAKE \?CCL39
EQUAL? GL-PRSO,CH-TRAINED-PIGEON /?CTR38
CALL RT-IDENTIFY-EVENT?,W?TOBY,GL-PRSO
ZERO? STACK /?CCL39
?CTR38: SET 'GL-WINNER,CH-PLAYER
ICALL RT-PERFORM,V?ASK-FOR,CH-SHERMAN,GL-PRSO
RTRUE
?CCL39: EQUAL? GL-PRSA,V?ASK-FOR \?PRD48
ZERO? GL-NOW-PRSI? \?PRD48
SET 'OBJ1,GL-PRSI
ZERO? OBJ1 \?CTR45
?PRD48: EQUAL? GL-PRSA,V?GIVE \?CCL46
EQUAL? GL-PRSI,CH-ME,CH-PLAYER \?CCL46
EQUAL? CONTEXT,K-M-WINNER \?CCL46
SET 'OBJ1,GL-PRSO
ZERO? OBJ1 /?CCL46
?CTR45: FSET? CH-SHERMAN,FL-ASLEEP \?CCL58
ICALL2 RT-NO-CONDITION-MSG,CH-SHERMAN
RTRUE
?CCL58: EQUAL? OBJ1,CH-TRAINED-PIGEON \?CCL60
ICALL1 RT-GET-PIGEON
RTRUE
?CCL60: CALL RT-IDENTIFY-EVENT?,W?TOBY,OBJ1
ZERO? STACK /?CCL62
PRINTR """He's not well enough to work."""
?CCL62: EQUAL? OBJ1,P-OBJ \?CCL64
IN? P-OBJ,CH-SHERMAN \?CCL67
PRINTI "Sherman says, ""Oh, yes. The pigeon came back with "
ICALL2 RT-A-PRINT,P-OBJ
PRINTI ". I don't know where he found it."" He gives you "
ICALL2 RT-THEO-PRINT,P-OBJ
PRINTC 46
CRLF
ICALL2 RT-PIGEON-OBJ,P-OBJ
RTRUE
?CCL67: PRINTR """I already gave it to you."""
?CCL64: IN? GL-PRSI,CH-SHERMAN \?CCL69
PRINTI "He gives you "
ICALL2 RT-THEO-PRINT,OBJ1
PRINTC 46
CRLF
MOVE OBJ1,CH-PLAYER
ICALL2 RT-THIS-IS-IT,OBJ1
FSET OBJ1,FL-SEEN
FSET OBJ1,FL-TOUCHED
FCLEAR OBJ1,FL-NODESC
RTRUE
?CCL69: PRINTI """I don't have "
ICALL2 RT-A-PRINT,OBJ1
PRINTR "."""
?CCL46: EQUAL? GL-PRSA,V?TAKE \?CCL71
ZERO? GL-NOW-PRSI? /?CCL71
ICALL RT-IMPOLITE-MSG,STR?715,STR?716
RTRUE
?CCL71: EQUAL? CONTEXT,K-M-WINNER \FALSE
EQUAL? GL-PRSA,V?HELLO \?CCL78
PRINTR """Hello, Dr Watson."""
?CCL78: EQUAL? GL-PRSA,V?GOODBYE \?CCL80
PRINTR """Goodbye, Dr Watson."""
?CCL80: EQUAL? GL-PRSA,V?THANK \?CCL82
PRINTR """You're welcome."""
?CCL82: EQUAL? GL-PRSA,V?GIVE-SWP /FALSE
EQUAL? GL-PRSA,V?YES \?CCL86
PRINT K-GOOD-SHOW-MSG
CRLF
RTRUE
?CCL86: EQUAL? GL-PRSA,V?WHERE \?CCL88
CALL2 RT-VISIBLE?,GL-PRSO
ZERO? STACK /?CCL88
PRINTR """Right here, Doctor."""
?CCL88: EQUAL? GL-PRSA,V?NO \?CCL92
PRINT K-PITY-MSG
CRLF
RTRUE
?CCL92: EQUAL? GL-PRSA,V?MAYBE \?CCL94
PRINT K-MAYBE-MSG
CRLF
RTRUE
?CCL94: ICALL2 RT-CTHEO-PRINT,CH-SHERMAN
PRINTR " says, ""Unfortunately, I won't be able to help you with that."""
.FUNCT RT-AC-CH-PRIME-MINISTER,CONTEXT,OBJ
ICALL2 RT-THIS-IS-IT,CH-PRIME-MINISTER
EQUAL? CONTEXT,K-M-CONT \?CCL3
PRINTR "You should be ashamed of yourself."
?CCL3: EQUAL? CONTEXT,K-M-DESCFCN \?CCL5
PRINTI "He is an elderly man with bushy eyebrows and muttonchop whiskers."
FSET? CH-PRIME-MINISTER,FL-ASLEEP \?CND6
PRINTR " He is also unconscious, thanks to you."
?CND6: CRLF
RTRUE
?CCL5: EQUAL? CONTEXT,K-M-WINNER \?CCL9
FSET? GL-WINNER,FL-ASLEEP \?CCL9
ICALL2 RT-NO-CONDITION-MSG,GL-WINNER
RFALSE
?CCL9: CALL2 RT-TELL-ABOUT?,CH-PRIME-MINISTER
ZERO? STACK /?CCL13
EQUAL? GL-PRSA,V?WHO,V?WHAT \?CCL16
SET 'OBJ,GL-PRSO
JUMP ?CND14
?CCL16: SET 'OBJ,GL-PRSI
?CND14: EQUAL? OBJ,CH-QUEEN \?CCL19
PRINTR """It was she herself who suggested consulting Mr Holmes."""
?CCL19: EQUAL? OBJ,TH-WESTMINSTER-CLUE \?CCL21
PRINTR """We are all baffled by it. That is why we have come to Mr Holmes."""
?CCL21: EQUAL? OBJ,LG-TOWER \?CCL23
PRINTR """Naturally we have closed it until the investigation is terminated. No one has been allowed to leave since the theft was discovered."""
?CCL23: EQUAL? OBJ,CH-HOLMES \?CCL25
PRINTR """We learned of his talents from his brother, Mycroft."""
?CCL25: CALL RT-IDENTIFY-EVENT?,W?MYCROFT,OBJ
ZERO? STACK /?CCL27
PRINTR """As you are no doubt aware, his involvement with the government is too sensitive for me to discuss."""