-
Notifications
You must be signed in to change notification settings - Fork 27
/
oracle.zap
1801 lines (1600 loc) · 51.9 KB
/
oracle.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
.SEGMENT "SECRET"
.FUNCT ORACLE-F,RARG
EQUAL? RARG,M-ENTER \?CCL3
GRTR? ORACLE-EXIT-NUMBER,4 \?CCL3
RANDOM 5
SUB STACK,1 >ORACLE-EXIT-NUMBER
CALL QUEUE,I-AMULET,4
RSTACK
?CCL3: EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are in an irregularly shaped chamber, hewn out of bedrock by untold ages of trickling waters. The walls are slimy, and shadows dance in the unlit crevices. A stream of slime drips sluggishly down an uneven tunnel which heads roughly upwards."
CRLF
PRINTI " "
CALL1 D-ORACLE
RSTACK
.ENDSEG
.SEGMENT "SECRET"
.FUNCT ORACLE-OBJECT-F,VARG,TAKER,RM
ZERO? VARG \FALSE
EQUAL? PRSA,V?TELL,V?PRAY,V?ASK-ABOUT \?CCL5
EQUAL? PRSO,ORACLE-OBJECT \?CCL5
PRINTI "The oracle stares at the far wall of the cave, impassive and unresponsive."
ZERO? ORACLE-USED \?CND8
PRINTI " It appears that the ancient claims of the oracle's amazing abilities were just wild fictions."
?CND8: CRLF
CALL1 STOP
RSTACK
?CCL5: EQUAL? PRSA,V?EXAMINE \?CCL11
ICALL1 D-ORACLE
FIRST? ORACLE-OBJECT \?CCL14
PRINTI " Sitting in the mouth of the oracle is"
CALL1 D-NOTHING
RSTACK
?CCL14: CRLF
RTRUE
?CCL11: EQUAL? PRSA,V?LOOK-INSIDE \?CCL16
CALL NOUN-USED?,ORACLE-OBJECT,W?MOUTH
ZERO? STACK /?CCL16
IN? PROTAGONIST,ORACLE-OBJECT /?CCL16
PRINTR "The wide-open mouth is larger than you!"
?CCL16: EQUAL? PRSA,V?THROW,V?PUT \?CCL21
EQUAL? PRSI,ORACLE-OBJECT \?CCL21
PRINTI "You "
EQUAL? PRSA,V?THROW \?CCL26
PRINTI "toss"
JUMP ?CND24
?CCL26: PRINTI "place"
?CND24: ICALL1 TPRINT-PRSO
PRINTI " into the mouth of the oracle"
IN? RUBY,DEPRESSION \?CCL29
GET ORACLE-TABLE,ORACLE-EXIT-NUMBER >RM
MOVE PRSO,RM
PRINTI ", and it instantly vanishes!"
CRLF
CALL FIND-IN,RM,WHITEBIT >TAKER
ZERO? TAKER \?CCL31
CALL FIND-IN,RM,BLACKBIT >TAKER
ZERO? TAKER /?CND30
?CCL31: MOVE PRSO,TAKER
EQUAL? PRSO,PIGEON \?CND30
ICALL2 MOVE-TO-PERCH,TAKER
?CND30: CALL1 NOW-DARK?
RSTACK
?CCL29: MOVE PRSO,ORACLE-OBJECT
PRINT PERIOD-CR
RTRUE
?CCL21: EQUAL? PRSA,V?ENTER \FALSE
ZERO? LIT \?CCL40
PRINT TOO-DARK
CRLF
RTRUE
?CCL40: IN? BEDBUG,HERE \?CCL42
ZERO? TIME-STOPPED \?CCL42
CALL2 DO-WALK,P?UP
RSTACK
?CCL42: IN? RUBY,DEPRESSION \FALSE
ZERO? ORACLE-USED /?CCL49
PRINTC 68
JUMP ?CND47
?CCL49: ICALL SPLIT-BY-PICTURE,TEXT-WINDOW-PIC-LOC,TRUE-VALUE
SCREEN S-TEXT
CRLF
ICALL2 MARGINAL-PIC,TELEPORT-LETTER
DIROUT D-SCREEN-OFF
PRINTC 68
DIROUT D-SCREEN-ON
?CND47: PRINTI "arkness envelopes you"
ZERO? ORACLE-USED \?CCL52
PRINTI " with a giant hand swathed in a glove of black velvet. You feel disembodied; there is no up and down. You are motionless in time and space. A moment drags out for a century -- or is it a century that has flown by in a moment? After an immeasurable time, you notice"
JUMP ?CND50
?CCL52: PRINTI ". You feel"
?CND50: PRINTI " a stabbing pain... swirling lights... dizziness"
PRINT ELLIPSIS
ZERO? BORDER-ON \?CND53
ICALL2 INIT-STATUS-LINE,TRUE-VALUE
?CND53: GET ORACLE-TABLE,ORACLE-EXIT-NUMBER
ICALL2 GOTO,STACK
SET 'ORACLE-USED,TRUE-VALUE
RETURN ORACLE-USED
.FUNCT D-ORACLE
IN? PROTAGONIST,ORACLE-OBJECT \?CCL3
PRINTI "Surrounding you is"
JUMP ?CND1
?CCL3: PRINTI "Before you sits"
?CND1: PRINTI " the legendary Oracle of Bargth. Shaped like an enormous serpent's head, its huge mouth hangs open in an expression of insatiable hunger; its four "
IN? RUBY,DEPRESSION \?CCL6
PRINTI "glowing"
JUMP ?CND4
?CCL6: PRINTI "dark"
?CND4: PRINTI " eyes seem fixed upon you. In the center of the serpent's forehead is a"
IN? RUBY,DEPRESSION \?CCL9
PRINTI "n enormous ruby."
RTRUE
?CCL9: PRINTI " depression."
RTRUE
.FUNCT DEPRESSION-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "The semi-spherical depression is a few inches across."
IN? RUBY,DEPRESSION \?CND4
PRINTR " A huge ruby rests in the depresssion."
?CND4: CRLF
RTRUE
?CCL3: EQUAL? PRSA,V?TAKE \?CCL7
EQUAL? PRSO,RUBY \?CCL7
FSET? RUBY,NDESCBIT \?CCL7
CALL2 ITAKE,TRUE-VALUE
EQUAL? STACK,M-FATAL,FALSE-VALUE /TRUE
FCLEAR RUBY,NDESCBIT
FCLEAR RUBY,NALLBIT
PRINTR "Taken."
?CCL7: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSO,SAPPHIRE \?CCL18
MOVE SAPPHIRE,HERE
PRINTR "The sapphire is a bit smaller than the depression; it stays for a moment but then drops to the ground."
?CCL18: EQUAL? PRSO,RUBY \?CCL20
MOVE RUBY,DEPRESSION
FSET RUBY,NDESCBIT
FSET RUBY,NALLBIT
PRINTI "The moby ruby fits perfectly into the depression. As it sinks into place, the eyes of the oracle begin to glow."
FIRST? ORACLE-OBJECT \?CND21
GET ORACLE-TABLE,ORACLE-EXIT-NUMBER
ICALL ROB,ORACLE-OBJECT,STACK
PRINTI " Everything in the oracle's mouth suddenly vanishes!"
?CND21: CRLF
ICALL2 INC-SCORE,ORACLE-SCORE
SET 'ORACLE-SCORE,0
RTRUE
?CCL20: PRINTR "It doesn't fit the depression."
.ENDSEG
.SEGMENT "0"
.FUNCT AMULET-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "The amulet is in the shape of a serpent's head. "
FSET? HERE,BEYONDBIT \?CCL6
PRINTI "It seems to be glowing slightly"
JUMP ?CND4
?CCL6: GET EYE-TABLE,ORACLE-EXIT-NUMBER
PRINT STACK
PRINTI " of its four eyes "
EQUAL? ORACLE-EXIT-NUMBER,1 \?CCL9
PRINTI "is"
JUMP ?CND7
?CCL9: PRINTI "are"
?CND7: PRINTI " open"
?CND4: PRINT PERIOD-CR
RTRUE
?CCL3: EQUAL? PRSA,V?TOUCH \FALSE
FSET? HERE,BEYONDBIT \?CCL14
ICALL1 CAST-HUNGER-SPELL
PRINTI "A stream of light undulates slowly from the amulet "
FSET? AMULET,WORNBIT \?CCL17
PRINTI "and envelops you like a mist. After a moment, the mist clears"
PRINT ELLIPSIS
CALL2 GOTO,G-U-MOUNTAIN
RSTACK
?CCL17: PRINTR "but then quickly fades."
?CCL14: ZERO? TIME-STOPPED \FALSE
PRINTR "The amulet, for one brief moment, glows from deep within."
.FUNCT I-AMULET
ICALL QUEUE,I-AMULET,4
IGRTR? 'ORACLE-EXIT-NUMBER,4 \?CND1
SET 'ORACLE-EXIT-NUMBER,0
?CND1: EQUAL? HERE,ORACLE \FALSE
IN? RUBY,DEPRESSION \FALSE
ZERO? LIT /FALSE
ICALL1 RETURN-FROM-MAP
PRINTR " The oracle seems to blink for a moment."
.ENDSEG
.SEGMENT "ORACLE"
.FUNCT FLATHEAD-MOUNTAINS-F
EQUAL? PRSA,V?CLIMB-UP,V?CLIMB,V?ENTER /?CCL3
EQUAL? PRSA,V?CLIMB-DOWN \FALSE
?CCL3: CALL1 V-WALK-AROUND
RSTACK
.FUNCT HOLLOW-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a chamber, open to the sky, formed by cliff-like mountain walls. Strange and frightening runes have been carved into the cliff wall to the south, next to a "
ZERO? IRON-MINE-OPEN /?CCL6
PRINTI "dark cave entrance"
JUMP ?CND4
?CCL6: PRINTI "six-sided hole"
?CND4: PRINTI ". The only "
ZERO? IRON-MINE-OPEN /?CCL9
PRINTI "other"
JUMP ?CND7
?CCL9: PRINTI "apparent"
?CND7: PRINTI " exit is northeast."
RTRUE
.FUNCT HEXAGONAL-HOLE-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTR "The small, six-sided hole has been neatly carved into the cliff wall."
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL5
PRINT ONLY-BLACKNESS
RTRUE
?CCL5: EQUAL? PRSA,V?REACH-IN \?CCL7
PRINTR "Your hand is about the same size as the hole, and since your hand isn't hexagonal, it doesn't fit."
?CCL7: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSO,HEXAGONAL-BLOCK \?CCL12
SET 'IRON-MINE-OPEN,TRUE-VALUE
SET 'COMPASS-CHANGED,TRUE-VALUE
REMOVE HEXAGONAL-BLOCK
REMOVE HEXAGONAL-HOLE
PRINTI "A seam appears in the cliff wall, and a huge slab of rock slides silently aside! A breeze of stale, dusty air caresses you as the dark opening to the south beckons ominously."
CRLF
CALL2 INC-SCORE,14
RSTACK
?CCL12: PRINTR "It doesn't fit."
.FUNCT BIRCH-F,ARG
EQUAL? ARG,M-WINNER \?CCL3
CALL1 PLANT-STUNNED
RSTACK
?CCL3: EQUAL? PRSA,V?CLIMB-UP,V?CLIMB \?CCL5
PRINT POORLY-CONFIGURED
RTRUE
?CCL5: EQUAL? PRSA,V?GET-NEAR \?CCL7
CALL2 PERFORM-PRSA,SMALL-ELM
RSTACK
?CCL7: EQUAL? PRSA,V?LISTEN \FALSE
ZERO? PLANT-TALKER /FALSE
PRINTR "The birch is poignantly bemoaning that none of its seedlings has ever taken root in this barren, rocky place."
.FUNCT IRON-PS
EQUAL? HERE,IRON-MINE \FALSE
PRINTR "There's no iron ore here. The vein is played out; the mine abandoned."
.FUNCT IRON-MINE-PS
EQUAL? PRSA,V?ENTER \?CCL3
EQUAL? HERE,HOLLOW \?CCL3
CALL2 DO-WALK,P?IN
RSTACK
?CCL3: CALL2 PERFORM-PRSA,GLOBAL-HERE
RSTACK
.SEGMENT "CASTLE"
.FUNCT SAPPHIRE-F
EQUAL? PRSA,V?TAKE \FALSE
EQUAL? PRSO,SAPPHIRE \FALSE
FSET? SAPPHIRE,TRYTAKEBIT \FALSE
FCLEAR SAPPHIRE,TRYTAKEBIT
PUTP SAPPHIRE,P?ACTION,FALSE-VALUE
FSET SAPPHIRE,TOUCHBIT
MOVE SAPPHIRE,PROTAGONIST
PRINTR "As you pry loose the sapphire, the skeleton's fingers crumble to dust, and the jewel glows briefly from deep within."
.ENDSEG
.SEGMENT "ORACLE"
.FUNCT NATURAL-ARCH-OBJECT-F
EQUAL? PRSA,V?LOOK-UNDER,V?EXAMINE \FALSE
PRINTR "Under the arch, steps lead down into darkness."
.FUNCT ENCHANTED-CAVE-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "Your light sparkles off reflective walls, spilling glittering droplets of illumination across every surface, including the dull gray altar in the very center of the room. The altar is inscribed with the single word ""Zilbeetha."" "
IN? STATUE,HERE \?CND4
PRINT STATUE-DESC
PRINTC 32
?CND4: PRINTI "Strewn about the cave are the bones of many adventurers, amidst dust which might be that of even older bones. An uneven stair leads up toward light."
RTRUE
.FUNCT STATUE-F
EQUAL? PRSA,V?PUT-ON \?CCL3
EQUAL? PRSI,STATUE \?CCL3
FSET? PRSO,WEARBIT \?CCL3
PRINTR "The statue isn't a department store mannequin!"
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8
PRINT STATUE-DESC
CRLF
RTRUE
?CCL8: EQUAL? PRSA,V?ALARM \FALSE
PRINTR "Apparently, you think breaking an enchantment is as easy as breaking an egg!"
.FUNCT ALTAR-F
EQUAL? PRSA,V?PUT-ON \FALSE
EQUAL? PRSO,GLITTERY-ORB,SMOKY-ORB,MILKY-ORB /?CCL3
EQUAL? PRSO,FIERY-ORB \FALSE
?CCL3: EQUAL? PRSO,ENCHANTED-ORB /?CTR9
EQUAL? ORBS-EXAMINED,3 \?CCL10
FSET? PRSO,ORBBIT /?CCL10
?CTR9: REMOVE PRSO
REMOVE STATUE
MOVE FLOWER,ALTAR
FCLEAR FLOWER,NDESCBIT
FCLEAR FLOWER,TRYTAKEBIT
PRINTI "At first, nothing happens. Then the orb glows deep within, and a gentle chorus of angels begins to swell. As the glow brightens to include the entire cave, the statue and orb are gone, replaced by a young couple in wedding garb, in rapturous embrace. As the singing of the angels reaches a crescendo, Zilbeetha and her lover recede from sight toward planes unknown, leaving a flower of incomparable fragility and beauty sitting on the altar."
CRLF
CALL2 INC-SCORE,25
RSTACK
?CCL10: IN? STATUE,HERE \FALSE
CALL2 JIGS-UP,STR?804
RSTACK
.SEGMENT "0"
.FUNCT FLOWER-F,ARG
EQUAL? ARG,M-WINNER \?CCL3
CALL1 PLANT-STUNNED
RSTACK
?CCL3: EQUAL? PRSA,V?TAKE \?CCL5
FSET? FLOWER,TRYTAKEBIT \?CCL5
EQUAL? PRSO,FLOWER \?CCL5
PRINTR "It's part of a stone statue!"
?CCL5: EQUAL? PRSA,V?LISTEN \?CCL10
ZERO? PLANT-TALKER /?CCL10
PRINTR "The flower is aware that, having been cut, it will shortly wilt. However, it has philosophically decided to accept this sad fate without complaint."
?CCL10: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTI "The flower"
FSET? FLOWER,TRYTAKEBIT \?CND15
PRINTI ", though made of stone,"
?CND15: PRINTR " is a thing of fragile beauty."
.ENDSEG
.SEGMENT "ORACLE"
.FUNCT LOWER-LEDGE-F,RARG
ZERO? RARG \FALSE
EQUAL? PRSA,V?PUT-ON,V?THROW \?CCL5
EQUAL? PRSI,LOWER-LEDGE \?CCL5
REMOVE PRSO
EQUAL? PRSO,PERCH /?CCL9
CALL ULTIMATELY-IN?,PERCH,PRSO
ZERO? STACK /?CND8
?CCL9: SET 'REMOVED-PERCH-LOC,WATER
?CND8: PRINTI "You toss"
ICALL1 TPRINT-PRSO
PRINTR " carefully, but it skitters across the lower ledge and falls into the fjord."
?CCL5: EQUAL? PRSA,V?EXAMINE \?CCL13
EQUAL? HERE,UPPER-LEDGE \?CCL13
FSET? LOWER-LEDGE,TOUCHBIT /?CCL13
PRINTR "By leaning far out, you can just make out the edge of something on the ledge below. Most of it is hidden by protrusions in the cliff wall, though, so you can't make out what it is."
?CCL13: EQUAL? PRSA,V?CLIMB-ON,V?ENTER \?CCL18
EQUAL? HERE,LOWER-LEDGE \?CCL21
PRINT LOOK-AROUND
RTRUE
?CCL21: CALL2 DO-WALK,P?DOWN
RSTACK
?CCL18: EQUAL? PRSA,V?LEAP \FALSE
SET 'PRSO,FALSE-VALUE
RFALSE
.FUNCT NARROW-CRACK-PS
EQUAL? PRSA,V?LOOK-INSIDE \?CCL3
PRINT ONLY-BLACKNESS
RTRUE
?CCL3: EQUAL? PRSA,V?REACH-IN \FALSE
ZERO? ROPE-PLACED \?CCL8
CALL2 JIGS-UP,STR?810
RSTACK
?CCL8: PRINT NOTHING-IN-REACH
RTRUE
.SEGMENT "0"
.FUNCT LANDSCAPE-F
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTI "You're not a student of art, but it sure looks like this landscape was done more with a catapult than a brush. "
EQUAL? HERE,LOWER-LEDGE \?CND4
PRINTI "In fact, the artist seems to have gotten more paint on the cliff and ledge than on the canvas. "
?CND4: PRINTR "Despite its flaws, the landscape is obviously of the Flathead Fjord."
.FUNCT G-PAINTING-F,SRES,F
RETURN LANDSCAPE
.ENDSEG
.SEGMENT "ORACLE"
.FUNCT FJORD-F
CALL2 TOUCHING?,FJORD
ZERO? STACK /FALSE
CALL2 CANT-REACH,FJORD
RSTACK
.FUNCT GLACIER-DEATH,RARG
ZERO? RARG \FALSE
CALL2 JIGS-UP,STR?816
RSTACK
.FUNCT MIRROR-LAKE-F,RARG,TMP,DIR
EQUAL? RARG,M-BEG \?CCL3
EQUAL? PRSO,REFLECTION \?CCL3
CALL2 GET-OWNER,PRSO
EQUAL? STACK,MIRROR,REFLECTION \?CCL3
PRINT HUH
RTRUE
?CCL3: EQUAL? RARG,M-BEG \?CCL8
EQUAL? PRSA,V?EXAMINE \?CCL8
EQUAL? PRSO,REFLECTION \?CCL8
CALL2 GET-OWNER,PRSO >TMP
ZERO? TMP /?CCL8
ICALL PERFORM,V?MIRROR-LOOK,TMP,MIRROR
RTRUE
?CCL8: EQUAL? RARG,M-BEG \?CCL14
EQUAL? PRSA,V?THROW /?CTR13
EQUAL? PRSA,V?STHROW \?CCL14
EQUAL? PRSI,INTDIR \?CCL14
?CTR13: CALL1 IDROP
ZERO? STACK \TRUE
EQUAL? PRSA,V?THROW \?CCL25
RANDOM 100
LESS? 25,STACK /?CCL28
SET 'DIR,P?EAST
JUMP ?CND21
?CCL28: RANDOM 100
LESS? 33,STACK /?CCL30
SET 'DIR,P?WEST
JUMP ?CND21
?CCL30: RANDOM 100
LESS? 50,STACK /?CCL32
SET 'DIR,P?NORTH
JUMP ?CND21
?CCL32: SET 'DIR,P?SOUTH
JUMP ?CND21
?CCL25: CALL NOUN-USED?,INTDIR,W?NORTH,W?NE,W?NW
ZERO? STACK /?CCL34
SET 'DIR,P?NORTH
JUMP ?CND21
?CCL34: CALL NOUN-USED?,INTDIR,W?SOUTH,W?SE,W?SW
ZERO? STACK /?CCL36
SET 'DIR,P?SOUTH
JUMP ?CND21
?CCL36: CALL NOUN-USED?,INTDIR,W?EAST
ZERO? STACK /?CCL38
SET 'DIR,P?EAST
JUMP ?CND21
?CCL38: SET 'DIR,P?WEST
?CND21: CALL LEAVE-MIRROR,STR?819,DIR
RSTACK
?CCL14: EQUAL? RARG,M-BEG \FALSE
EQUAL? PRSA,V?PUSH \FALSE
FSET? PRSO,WHITEBIT /?CCL40
FSET? PRSO,BLACKBIT \FALSE
?CCL40: RANDOM 100
LESS? 25,STACK /?CCL48
SET 'DIR,P?EAST
JUMP ?CND46
?CCL48: RANDOM 100
LESS? 33,STACK /?CCL50
SET 'DIR,P?WEST
JUMP ?CND46
?CCL50: RANDOM 100
LESS? 50,STACK /?CCL52
SET 'DIR,P?NORTH
JUMP ?CND46
?CCL52: SET 'DIR,P?SOUTH
?CND46: CALL LEAVE-MIRROR,STR?820,DIR
RSTACK
.FUNCT LEAVE-MIRROR,STRING,DIR,AV,DESTINATION
PRINTI "As you throw"
ICALL1 TPRINT-PRSO
PRINTI ", you slide across the ice in the opposite direction, and plow into a powdery snow bank"
PRINT ELLIPSIS
LOC PROTAGONIST >AV
EQUAL? DIR,P?NORTH \?CCL3
MOVE PRSO,NORTH-OF-MIRROR
SET 'DESTINATION,SOUTH-OF-MIRROR
JUMP ?CND1
?CCL3: EQUAL? DIR,P?SOUTH \?CCL5
MOVE PRSO,SOUTH-OF-MIRROR
SET 'DESTINATION,NORTH-OF-MIRROR
JUMP ?CND1
?CCL5: EQUAL? DIR,P?EAST \?CCL7
MOVE PRSO,EAST-OF-MIRROR
SET 'DESTINATION,WEST-OF-MIRROR
JUMP ?CND1
?CCL7: MOVE PRSO,WEST-OF-MIRROR
SET 'DESTINATION,EAST-OF-MIRROR
?CND1: FSET? AV,VEHBIT \?CCL10
MOVE AV,DESTINATION
ICALL2 GOTO,AV
JUMP ?CND8
?CCL10: ICALL2 GOTO,DESTINATION
?CND8: EQUAL? PRSO,PIT-BOMB \?CND11
REMOVE PIT-BOMB
PRINTI " Some pit-filling agents drift by in a useless cloud, dispersing."
CRLF
?CND11: ICALL2 INC-SCORE,MIRROR-SCORE
SET 'MIRROR-SCORE,0
RTRUE
.FUNCT MIRROR-F,TMP
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?CCL3
PRINTR "As you stare at your reflection in the mirrored surface, you look as you always have; and yet, you see things you've never seen before: youthful exuberance and courage, yet tempered by the wisdom and experience of untold generations of forebears, whose spirits seem to hover over you protectively.
Who knows what secrets might be revealed by looking at the reflection of other things in this magical mirror!?!"
?CCL3: EQUAL? PRSA,V?MIRROR-LOOK \?CCL5
EQUAL? PRSI,MIRROR \?CCL5
EQUAL? PRSO,PROTAGONIST,ME \?CCL10
ICALL PERFORM,V?EXAMINE,MIRROR
RTRUE
?CCL10: EQUAL? PRSO,ENCHANTED-ORB \?CCL12
SET 'ORB-FOUND,TRUE-VALUE
PRINTI "As you gaze at the reflection of"
ICALL1 TPRINT-PRSO
PRINTR ", a different vision takes shape: a beautiful young maiden, in peaceful sleep. Then, the vision fades."
?CCL12: EQUAL? PRSO,WAND \?CCL14
PRINTR "The reflection of the wand is unnaturally still; more frozen than even the arctic landscape that surrounds you."
?CCL14: EQUAL? PRSO,FLASK \?CCL16
PRINTR "You see the shadow of death hanging over the flask."
?CCL16: EQUAL? PRSO,CLOAK \?CCL18
PRINTR "The reflection reveals a checkered pattern in the cloth, not visible when you look at the garment itself."
?CCL18: EQUAL? PRSO,GLOVE \?CCL20
PRINTR "The glove's reflection conveys a feeling of fingers more sensitive and dexterous than the world's greatest surgeon."
?CCL20: EQUAL? PRSO,GOGGLES \?CCL22
PRINTR "The image of the goggles appears surrounded by a brick wall which slowly transforms to glass!"
?CCL22: EQUAL? PRSO,RING \?CCL24
PRINTI "Odd. Although the ring has no face of any kind, as you gaze at its reflection you get the distinct impression that the ring is laughing at you!"
CRLF
CALL2 ULTIMATELY-IN?,RING
ZERO? STACK /TRUE
MOVE RING,HERE
PRINTR " Perhaps in reaction to this impression, it seems that you have dropped the ring."
?CCL24: EQUAL? PRSO,NW-SE-PASSAGE,N-S-PASSAGE \?CCL28
PRINTR "The reflection of the passage reveals a feature which is invisible when you look at the passage itself: the edges dripping with unset glue."
?CCL28: EQUAL? PRSO,PARCHMENT \?CCL30
PRINTR "The paper of the parchment, as seen in the mirror, is suffused with an other-wordly glow."
?CCL30: EQUAL? PRSO,PIGEON \?CCL32
PRINTR "The reflection of the inert pigeon is most startling: it appears soaring majestically through space on widespread wings, bearing a rider regally upon its back!"
?CCL32: EQUAL? PRSO,PERCH \?CCL34
PRINTR "You see not an image of a ceramic perch, but of a proud mountain aerie! A powerful bird is flying toward the nest from a great distance."
?CCL34: EQUAL? PRSO,AMULET \?CCL36
PRINTR "The reflection of the amulet is suffused in a glow of amazing energies! A vague ghost of a serpent's head floats over it. A hand reaches to touch the amulet -- and the mirror goes blank!"
?CCL36: EQUAL? PRSO,CANDLE \?CCL38
PRINTR "A flurry of images surrounds the candle's reflection: an aged wizard weaving spells above a vat of bubbling tallow; the same mage handing a taper to a royal handmaiden; a chambermaid lighting the candle for a young prince; the same candle, never growing shorter, casting shadows on the faces of a succession of kings. The last image is of a servant placing the candle in a dark passageway and closing a concealed doorway behind him."
?CCL38: EQUAL? PRSO,JESTER \?CCL40
ICALL1 REMOVE-J
PRINTR "The jester's reflection is that of a much older man! And there's something else...but the jester notices you studying his reflection, and vanishes hastily!"
?CCL40: EQUAL? PRSO,POTION \?CCL42
PRINTR "The image shows a flowering plant growing from the potion. It seems to be calling to you."
?CCL42: EQUAL? PRSO,SAPPHIRE \?CCL44
PRINTR "As you look at the jewel's reflection, the skeleton's bony hand still seems clamped around it. Then the reflection enlarges, and a chill spreads from your heart as you see that the hand belongs to Death himself! He silently laughs at you from within his dark cowl before vanishing!"
?CCL44: FSET? PRSO,WHITEBIT /?CTR45
FSET? PRSO,BLACKBIT \?CCL46
?CTR45: PRINTI "Behind the image of"
ICALL1 TPRINT-PRSO
PRINTR " you see endless generations of masters, hunched over a small checkered board."
?CCL46: GETP PRSO,P?INANIMATE-DESC
ZERO? STACK /?CCL50
FSET? PRSO,ANIMATEDBIT /?CCL50
PRINTI "You see the image of a "
PRINTD PRSO
PRINTR "!"
?CCL50: EQUAL? PRSO,REFLECTION \?CND53
CALL2 GET-OWNER,PRSO >TMP
ZERO? TMP /?CND53
SET 'PRSO,TMP
?CND53: EQUAL? PRSO,GLITTERY-ORB,SMOKY-ORB,MILKY-ORB /?PRD60
EQUAL? PRSO,FIERY-ORB \?CND57
?PRD60: FSET? PRSO,ORBBIT /?CND57
FSET PRSO,ORBBIT
INC 'ORBS-EXAMINED
?CND57: PRINTI "The reflection of "
FSET? PRSO,NARTICLEBIT /?CND63
PRINTI "the "
?CND63: ICALL2 DPRINT,PRSO
PRINTI " looks just like "
FSET? PRSO,NARTICLEBIT /?CND65
PRINTI "the "
?CND65: ICALL2 DPRINT,PRSO
PRINTR " itself."
?CCL5: EQUAL? PRSA,V?MUNG \FALSE
CALL2 JIGS-UP,STR?822
RSTACK
.FUNCT REFLECTION-F
EQUAL? PRSA,V?EXAMINE \FALSE
ICALL PERFORM,V?EXAMINE,MIRROR
RTRUE
.FUNCT EAST-OF-MIRROR-F,RARG
EQUAL? RARG,M-LOOK \FALSE
CALL MIRRORS-EDGE-DESC,STR?824,STR?825,STR?826
RSTACK
.FUNCT MIRRORS-EDGE-DESC,STR1,STR2,STR3
PRINTI "You are in a snow drift. To the "
PRINT STR1
PRINTI " is a lake with a mirrored surface. You could probably plow around the mirror to the "
PRINT STR2
PRINTI " and "
PRINT STR3
PRINTC 46
RTRUE
.FUNCT WEST-OF-MIRROR-F,RARG
EQUAL? RARG,M-LOOK \FALSE
ICALL MIRRORS-EDGE-DESC,STR?827,STR?828,STR?263
PRINTI " A ski chalet, half-buried in the snow, lies to the west."
RTRUE
.FUNCT NORTH-OF-MIRROR-F,RARG
EQUAL? RARG,M-LOOK \FALSE
CALL MIRRORS-EDGE-DESC,STR?199,STR?263,STR?826
RSTACK
.FUNCT SOUTH-OF-MIRROR-F,RARG
EQUAL? RARG,M-LOOK \FALSE
CALL MIRRORS-EDGE-DESC,STR?198,STR?828,STR?825
RSTACK
.FUNCT LILY-PAD-F,ARG
EQUAL? ARG,M-WINNER \?CCL3
CALL1 PLANT-STUNNED
RSTACK
?CCL3: ZERO? ARG \FALSE
EQUAL? PRSA,V?CLIMB-ON,V?ENTER \?CCL7
CALL2 VISIBLE?,OTTO
ZERO? STACK /?CCL10
PRINTR """For toads only, buster."""
?CCL10: PRINTR "Only a toad could be comfortable there."
?CCL7: EQUAL? PRSA,V?LISTEN \FALSE
ZERO? PLANT-TALKER /FALSE
PRINTI "The lily pad is "
EQUAL? PRSO,LARGE-LILY-PAD \?CCL17
CALL2 VISIBLE?,OTTO
ZERO? STACK /?CCL20
PRINTI "moaning about"
JUMP ?CND18
?CCL20: PRINTI "giddy at the absence of"
?CND18: PRINTR " the weight of the giant toad."
?CCL17: PRINTR "composing an ode to sunlight."
.FUNCT OTTO-F,ARG
EQUAL? ARG,M-WINNER \?CCL3
EQUAL? PRSA,V?GIVE \?PRD8
EQUAL? PRSO,SPYGLASS \?PRD8
EQUAL? PRSI,ME /?CTR5
?PRD8: EQUAL? PRSA,V?SGIVE \?CCL6
EQUAL? PRSO,ME \?CCL6
EQUAL? PRSI,SPYGLASS \?CCL6
?CTR5: SET 'WINNER,PROTAGONIST
ICALL PERFORM,V?ASK-FOR,OTTO,SPYGLASS
SET 'WINNER,OTTO
RTRUE
?CCL6: EQUAL? PRSA,V?YES \?CCL16
EQUAL? AWAITING-REPLY,2 \?CCL16
CALL1 V-YES
RSTACK
?CCL16: EQUAL? PRSA,V?NO \?CCL20
EQUAL? AWAITING-REPLY,2 \?CCL20
CALL1 V-NO
RSTACK
?CCL20: SET 'AWAITING-REPLY,2
ICALL QUEUE,I-REPLY,2
PRINTI """Quiet. I've got a headache. Do you think you own this swamp?"""
CRLF
CALL1 STOP
RSTACK
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL24
PRINTR "The toad is not only ugly, it is bright blue and the size of a small shack. It also looks pretty grumpy."
?CCL24: CALL ADJ-USED?,OTTO,W?UGLY
ZERO? STACK /?CCL26
CALL2 VISIBLE?,OTTO
ZERO? STACK /?CCL26
PRINTI """Who're you calling ugly?!? You're no prize yourself, you know!"""
CRLF
CALL1 STOP
RSTACK
?CCL26: CALL NOUN-USED?,OTTO,W?TOAD
ZERO? STACK /?CCL30
CALL2 VISIBLE?,OTTO
ZERO? STACK /?CCL30
INC 'OTTO-NAME-COUNTER
PRINTI """I have a name, you know"
MOD OTTO-NAME-COUNTER,5
ZERO? STACK \?CND33
PRINTI ", a great name, known throughout many lands. And though I spent many years at sea, few pirates will know my name"
?CND33: PRINTI "."""
CRLF
CALL1 STOP
RSTACK
?CCL30: EQUAL? PRSA,V?ASK-FOR \?CCL36
EQUAL? PRSI,SPYGLASS \?CCL36
EQUAL? FLIES-EATEN,4 \?CCL41
MOVE SPYGLASS,SMALL-LILY-PAD
FCLEAR SPYGLASS,TRYTAKEBIT
ICALL2 THIS-IS-IT,SPYGLASS
PRINTR """Okay, take the stupid thing, but shut up and let me have some peace and quiet."" The toad places the spyglass on the small lily pad."
?CCL41: PRINTI """If you want this spyglass, you must bring me the "
ZERO? FLIES-EATEN \?CCL44
PRINTI "Four "
JUMP ?CND42
?CCL44: PRINTI "remaining "
EQUAL? FLIES-EATEN,1 \?CCL47
PRINTI "three "
JUMP ?CND42
?CCL47: EQUAL? FLIES-EATEN,2 \?CND42
PRINTI "two "
?CND42: PRINTI "Fantastic Fl"
EQUAL? FLIES-EATEN,3 \?CCL51
PRINTC 121
JUMP ?CND49
?CCL51: PRINTI "ies"
?CND49: PRINTR " of Famathria."""
?CCL36: EQUAL? PRSA,V?EAT \FALSE
ZERO? ALLIGATOR /FALSE
PRINTR "Although the toad looks tasty, he's about ten times your size."
.FUNCT I-STONE-TO-OTTO
MOVE OTTO,LARGE-LILY-PAD
EQUAL? HERE,DELTA-6 \FALSE
ICALL1 RETURN-FROM-MAP
PRINTI " Otto emerges from the muck of the swamp, looking quite displeased. Dripping with mud, he plops down on his favorite lily pad"
CALL2 VISIBLE?,WAND
ZERO? STACK /?CND4
REMOVE WAND
PRINTI ". ""Let's just make sure we don't have any repetitions of that, eh?"" He wraps his tongue around the wand and snaps it into a zillion splinters"
?CND4: PRINT PERIOD-CR
RTRUE
.SEGMENT "0"
.FUNCT SPYGLASS-F
EQUAL? PRSA,V?TAKE \?CCL3
FSET? SPYGLASS,TRYTAKEBIT \?CCL3
IN? SPYGLASS,SMALL-LILY-PAD \?CND6
MOVE SPYGLASS,OTTO
PRINTI "The toad snatches the spyglass with its long tongue. "
?CND6: PRINTR """If you want it, you'll have to ask me to give it to you."""
?CCL3: EQUAL? PRSA,V?LOOK-INSIDE \?CCL9
PRINTR "The spyglass magnifies distant objects."
?CCL9: EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? PRSI,SPYGLASS \FALSE
PRINT YOU-SEE
ICALL1 TPRINT-PRSO
PRINTR ", somewhat enlarged."
.FUNCT FLY-F
EQUAL? PRSA,V?DROP \?CCL3
ICALL2 ORDER-FLIES,HERE
RFALSE
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5
PRINTR "This is one juicy delicious-looking hunk of fly... that is, if you're the type who goes for insect meat..."
?CCL5: EQUAL? PRSA,V?GIVE \?CCL7
EQUAL? PRSI,OTTO \?CCL7
REMOVE PRSO
INC 'FLIES-EATEN
PRINTR "The toad wraps its long tongue around the fly, snaps it gluttonously into its mouth, and burps rudely."
?CCL7: EQUAL? PRSA,V?CATCH \?CCL11
ICALL PERFORM,V?TAKE,PRSO
RTRUE
?CCL11: CALL2 TOUCHING?,PRSO
ZERO? STACK /FALSE
EQUAL? PRSA,V?TAKE \?CND14
ICALL2 ORDER-FLIES,PROTAGONIST
?CND14: FSET? PRSO,TRYTAKEBIT \FALSE
FSET? GLOVE,WORNBIT \?CCL21
PRINTR "Your gloved hand strikes with amazing speed, but the fly darts out of the way by a hair's breadth."
?CCL21: PRINTR "The fly buzzes just out of reach."
.ENDSEG
.SEGMENT "ORACLE"
.SEGMENT "SECRET"
.SEGMENT "LAKE"
.FUNCT FLY-ROOM-F,RARG
EQUAL? RARG,M-ENTER \FALSE
FSET? HERE,TOUCHBIT /FALSE
IN? LARGE-FLY,LOCAL-GLOBALS \?CCL8
MOVE LARGE-FLY,HERE
RTRUE
?CCL8: IN? LARGER-FLY,LOCAL-GLOBALS \?CCL10
MOVE LARGER-FLY,HERE
RTRUE
?CCL10: IN? EVEN-LARGER-FLY,LOCAL-GLOBALS \?CCL12
MOVE EVEN-LARGER-FLY,HERE
RTRUE
?CCL12: IN? LARGEST-FLY,LOCAL-GLOBALS \FALSE
MOVE LARGEST-FLY,HERE
RTRUE
.ENDSEG
.SEGMENT "ORACLE"
.FUNCT FOOT-OF-STATUE-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This once verdant valley is now barren. "
PRINT NEAR-STATUE-DESC
PRINTI " A trail approaches a hilltop to the southwest."
RTRUE
.FUNCT DIMWIT-STATUE-F
EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? HERE,FOOT-OF-STATUE \?CCL6
PRINT NEAR-STATUE-DESC
CRLF
RTRUE
?CCL6: PRINT DISTANT-STATUE-DESC
CRLF
RTRUE
.FUNCT TREE-PS
EQUAL? PRSA,V?CLIMB-UP,V?CLIMB \FALSE
PRINTR "There are no trees here suitable for climbing."
.FUNCT VIEW-OF-STATUE-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are on a tall hilltop near the center of barren Fublio Valley. A few small trees are beginning the arduous task of refoliating the valley. "
PRINT DISTANT-STATUE-DESC
PRINTI " Trails lead northeast, southeast, west, and south."
RTRUE
.FUNCT MEGABOZ-HUT-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are in the unassuming shack where the legendary magician Megaboz once lived. Embroidered wall hangings adorn one side of the hut, and a poem has been scrawled on the opposite wall; oddly, some of the words are missing. The only exit is east. "
PRINT MEGABOZ-CEILING-DESC
RTRUE
.FUNCT ATTIC-ENTER-F,RARG
FSET? MEGABOZ-TRAP-DOOR,OPENBIT /?CCL3
ZERO? RARG \FALSE
ICALL1 RETURN-FROM-MAP
ICALL2 DO-FIRST,STR?845
RFALSE
?CCL3: IN? PROTAGONIST,LADDER /?CCL7
ZERO? RARG \FALSE
ICALL1 RETURN-FROM-MAP
ICALL2 CANT-REACH,MEGABOZ-TRAP-DOOR
RFALSE
?CCL7: RETURN ATTIC
.FUNCT MEGABOZ-TRAP-DOOR-F
EQUAL? HERE,MEGABOZ-HUT \?CCL3
CALL2 TOUCHING?,MEGABOZ-TRAP-DOOR
ZERO? STACK /?CCL3
IN? PROTAGONIST,LADDER /?CCL3
CALL2 CANT-REACH,MEGABOZ-TRAP-DOOR
RSTACK
?CCL3: EQUAL? PRSA,V?ENTER \FALSE
EQUAL? HERE,MEGABOZ-HUT \FALSE
CALL2 DO-WALK,P?UP
RSTACK
.FUNCT TRUNK-F
EQUAL? PRSA,V?OPEN \?CCL3
FSET? TRUNK,LOCKEDBIT /?CCL3
ZERO? FLY-IN-TRUNK /?CCL3
ZERO? PRSI /?CND7
FSET? PRSI,KEYBIT /FALSE
?CND7: SET 'FLY-IN-TRUNK,FALSE-VALUE
IN? LARGE-FLY,LOCAL-GLOBALS \?CCL13
MOVE LARGE-FLY,HERE
JUMP ?CND11
?CCL13: IN? LARGER-FLY,LOCAL-GLOBALS \?CCL15
MOVE LARGER-FLY,HERE
JUMP ?CND11
?CCL15: IN? EVEN-LARGER-FLY,LOCAL-GLOBALS \?CCL17
MOVE EVEN-LARGER-FLY,HERE
JUMP ?CND11
?CCL17: IN? LARGEST-FLY,LOCAL-GLOBALS \?CND11
MOVE LARGEST-FLY,HERE
?CND11: PRINTI "As you raise the lid, a huge fly zooms out and begins buzzing around the room. "
RFALSE
?CCL3: EQUAL? PRSA,V?TAKE \?CCL20
EQUAL? PRSO,TRUNK \?CCL20
PRINTR "The trunk turns out to be too large and heavy to move."
?CCL20: EQUAL? PRSA,V?UNLOCK \?CCL24
FSET? TRUNK,LOCKEDBIT \?CCL24
EQUAL? PRSI,RUSTY-KEY \?CCL24
EQUAL? SACRED-WORD-NUMBER,10 \?CND28
RANDOM 10
SUB STACK,1 >SACRED-WORD-NUMBER
?CND28: FCLEAR TRUNK,LOCKEDBIT
CALL LOCKED-UNLOCKED,TRUNK,TRUE-VALUE
RSTACK
?CCL24: EQUAL? PRSA,V?LOCK \FALSE
FSET? TRUNK,LOCKEDBIT /FALSE
EQUAL? PRSI,RUSTY-KEY \FALSE
FSET TRUNK,LOCKEDBIT
CALL2 LOCKED-UNLOCKED,TRUNK
RSTACK
.SEGMENT "0"
.FUNCT PAN-F
EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
PRINT HUH
RTRUE
.FUNCT NOTEBOOK-F
EQUAL? PRSA,V?EXAMINE,V?OPEN,V?READ \FALSE
PRINTI "The notebook is either gibberish or far in advance of your understanding. It seems to be filled with all kinds of formulas, spells, and shopping lists.
Near the end, you discover what appears to be a list of things to do: ""1) Mail OZMOO scrolls to Gurth. 2) Cast Curse on Flatheads. 3) Pick up milk and bread.""
Below is a sketch of a steaming kettle and a single word, """
GET SACRED-WORDS,SACRED-WORD-NUMBER
PRINT STACK
PRINTR "."""
.FUNCT HARMONICA-F
EQUAL? PRSA,V?INFLATE,V?PLAY \FALSE
PRINTR "The harmonica produces a sound like that of cats being tortured."
.ENDSEG
.SEGMENT "ORACLE"
.FUNCT CAIRN-OBJECT-F
EQUAL? PRSA,V?TAKE \?CCL3
PRINTR "The stones, individually, are uninteresting; the entire pile is much too massive to take."
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL5
PRINTR "The cairn probably has a magical or religious significance."
?CCL5: EQUAL? PRSA,V?COUNT \FALSE
CALL NOUN-USED?,CAIRN-OBJECT,W?STONES
ZERO? STACK /FALSE
PRINTR "Thousands."