-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathcompone.zap
1645 lines (1473 loc) · 51 KB
/
compone.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 UNDERWATER-F,RARG
EQUAL? RARG,M-END \FALSE
IGRTR? 'DROWN,2 \FALSE
CALL JIGS-UP,STR?101
RSTACK
.FUNCT CRAG-F,RARG
EQUAL? RARG,M-ENTER \FALSE
SET 'DROWN,3
RETURN DROWN
.FUNCT BALCONY-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is an octagonal room, half carved into and half built out from the cliff wall. Through the shattered windows which ring the outer wall you can see ocean to the horizon. A weathered metal plaque with barely readable lettering rests below the windows. The language seems to be a corrupt form of Galalingua. A steep stairway, roughly cut into the face of the cliff, leads upward. "
EQUAL? DAY,1 \?CCL6
PRINTR "A rocky crag can be seen about eight meters below."
?CCL6: EQUAL? DAY,2 \?CCL8
PRINTR "The ocean waters swirl below. The crag where you landed yesterday is now underwater!"
?CCL8: EQUAL? DAY,3 \FALSE
PRINTR "Ocean waters are lapping at the base of the balcony."
.FUNCT WINDING-STAIR-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "The middle of a long, steep stairway carved into the face of a cliff."
EQUAL? DAY,4 \?CCL6
PRINTR " You hear the lapping of water from below."
?CCL6: EQUAL? DAY,5 \?CND4
PRINTR " You can see ocean water splashing against the steps below you."
?CND4: CRLF
RTRUE
.FUNCT COURTYARD-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are in the courtyard of an ancient stone edifice, vaguely reminiscent of the castles you saw during your leave on Ramos Two. It has decayed to the point where it can probably be termed a ruin. Openings lead north and west, and a stairway downward is visible to the south. "
EQUAL? DAY,6,7 \?CCL6
PRINTR "From the direction of the stairway comes the sound of ocean surf."
?CCL6: EQUAL? DAY,8 \?CND4
PRINTR "Ocean water washes against the top few steps."
?CND4: CRLF
RTRUE
.FUNCT WATER-LEVEL-F
EQUAL? HERE,BALCONY \?CCL3
EQUAL? DAY,1 \?CCL6
RETURN CRAG
?CCL6: RETURN UNDERWATER
?CCL3: EQUAL? HERE,WINDING-STAIR \?CCL8
LESS? DAY,4 \?CCL11
RETURN BALCONY
?CCL11: RETURN UNDERWATER
?CCL8: EQUAL? HERE,COURTYARD \FALSE
LESS? DAY,6 \?CCL16
RETURN WINDING-STAIR
?CCL16: RETURN UNDERWATER
.FUNCT REC-AREA-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a recreational facility of some sort. Games and tapes are scattered about the room. Hallways head off to the east and south, and to the north is a door which is "
FSET? CONFERENCE-DOOR,OPENBIT \?CCL6
PRINTI "open"
JUMP ?CND4
?CCL6: PRINTI "closed and locked. A dial on the door is currently set to "
PRINTN DIAL-NUMBER
?CND4: PRINTR "."
.FUNCT CONFERENCE-ROOM-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a fairly square room, almost filled by a round conference table. To the south is a door which is "
CALL DDESC,CONFERENCE-DOOR
PRINTR ". To the north is a small room about the size of a phone booth."
.FUNCT COMBINATION-DIAL-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTR "The dial can be turned to any number between 0 and 1000."
?CCL3: EQUAL? PRSA,V?SET \FALSE
EQUAL? PRSI,INTNUM \FALSE
FSET? COMBINATION-DIAL,MUNGEDBIT \?CCL10
PRINTR "The dial has somehow become fused and won't move."
?CCL10: EQUAL? P-NUMBER,DIAL-NUMBER \?CCL12
PRINTR "That's what the dial is set to now!"
?CCL12: EQUAL? P-NUMBER,NUMBER-NEEDED \?CCL14
SET 'DIAL-NUMBER,0
FSET CONFERENCE-DOOR,OPENBIT
PRINTR "The door swings open, and the dial resets to 0."
?CCL14: GRTR? P-NUMBER,1000 \?CCL16
PRINTR "The dial cannot be turned to a number that high."
?CCL16: SET 'DIAL-NUMBER,P-NUMBER
PRINTI "The dial is now set to "
PRINTN P-NUMBER
PRINTR "."
.FUNCT CONFERENCE-DOOR-F
EQUAL? PRSA,V?OPEN \?CCL3
FSET? CONFERENCE-DOOR,OPENBIT \?CCL6
CALL ALREADY-OPEN
RSTACK
?CCL6: EQUAL? HERE,REC-AREA \?CCL9
PRINTR "The door is locked. You probably have to turn the dial to some number to open it."
?CCL9: PRINTR "The door seems to be locked from the other side."
?CCL3: EQUAL? PRSA,V?CLOSE \FALSE
FSET? CONFERENCE-DOOR,OPENBIT \?CCL14
FCLEAR CONFERENCE-DOOR,OPENBIT
PRINTR "The door closes and you hear a click as it locks."
?CCL14: CALL IS-CLOSED
RSTACK
.FUNCT MESS-CORRIDOR-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a wide, east-west hallway with a large portal to the south. A small door to the north is "
CALL DDESC,STORAGE-WEST-DOOR
ZERO? PADLOCK-REMOVED \?CND4
PRINTI " and hooked with a simple steel padlock"
FSET? PADLOCK,OPENBIT \?CCL8
PRINTI " which hangs unlocked"
JUMP ?CND4
?CCL8: PRINTI " which is also closed"
?CND4: PRINTR "."
.FUNCT STORAGE-WEST-DOOR-F
EQUAL? PRSA,V?OPEN \?CCL3
FSET? STORAGE-WEST-DOOR,OPENBIT \?CCL6
CALL ALREADY-OPEN
RSTACK
?CCL6: ZERO? PADLOCK-REMOVED /?CCL8
FSET STORAGE-WEST-DOOR,OPENBIT
PRINTR "Opened."
?CCL8: PRINTR "The door cannot be opened until the padlock is removed."
?CCL3: EQUAL? PRSA,V?CLOSE \?CCL10
FSET? STORAGE-WEST-DOOR,OPENBIT \?CCL13
FCLEAR STORAGE-WEST-DOOR,OPENBIT
PRINTR "The door is now closed."
?CCL13: CALL IS-CLOSED
RSTACK
?CCL10: EQUAL? PRSA,V?UNLOCK \FALSE
PRINTI "The door itself isn't locked."
FSET? PADLOCK,OPENBIT /?CND16
PRINTR " It is the padlock on the door which is locked."
?CND16: CRLF
RTRUE
.FUNCT PADLOCK-F
EQUAL? HERE,BRIG \?CCL3
PRINTR "You can't see or reach the lock from inside the cell."
?CCL3: EQUAL? PRSA,V?OPEN-WITH \?CCL5
EQUAL? PADLOCK,PRSO \?CCL5
CALL PERFORM,V?UNLOCK,PADLOCK,PRSI
RTRUE
?CCL5: EQUAL? PRSA,V?OPEN,V?UNLOCK \?CCL9
FSET? PADLOCK,OPENBIT /?CCL12
ZERO? PRSI \?CCL15
PRINTR "You can't open it with your hands."
?CCL15: EQUAL? PRSI,KEY \?CCL17
FSET? PADLOCK,MUNGEDBIT \?CCL20
PRINTR "Tsk, tsk ... the padlock seems to be fused shut."
?CCL20: FSET PADLOCK,OPENBIT
PRINTR "The padlock springs open."
?CCL17: PRINTR "That doesn't work."
?CCL12: PRINTR "The padlock is already unlocked."
?CCL9: EQUAL? PRSA,V?LOCK,V?CLOSE \?CCL22
FSET? PADLOCK,OPENBIT \?CCL25
FCLEAR PADLOCK,OPENBIT
PRINTR "The padlock closes with a sharp click."
?CCL25: PRINTR "The padlock is already locked."
?CCL22: EQUAL? PRSA,V?TAKE \?CCL27
ZERO? PADLOCK-REMOVED \?CCL27
FSET? PADLOCK,OPENBIT \?CCL32
SET 'PADLOCK-REMOVED,TRUE-VALUE
FCLEAR PADLOCK,TRYTAKEBIT
FCLEAR PADLOCK,NDESCBIT
RFALSE
?CCL32: FSET? PADLOCK,OPENBIT /FALSE
PRINTR "The padlock is locked to the door."
?CCL27: EQUAL? PRSA,V?MUNG \FALSE
PRINTR "And, as we go into the next round, it's Padlock 1, Adventurer 0..."
.FUNCT CAN-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTR "This is a rather normal tin can. It is large and is labelled ""Spam and Egz."""
?CCL3: EQUAL? PRSA,V?OPEN \FALSE
PRINTR "You certainly can't open it with your hands, and you don't seem to have found a can opener yet."
.FUNCT LADDER-F
EQUAL? PRSA,V?TAKE \?CCL3
ZERO? LADDER-EXTENDED /FALSE
PRINTR "You can't possibly carry the ladder while it's extended."
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL8
PRINTI "It is a heavy-duty ladder built of sturdy aluminum tubing. It is currently "
ZERO? LADDER-EXTENDED /?CCL11
PRINTR "extended to its full length of about 8 meters, but could be collapsed to a shorter length for easier carrying."
?CCL11: PRINTR "collapsed and is around two-and-a-half meters long, but if extended would obviously be much longer."
?CCL8: EQUAL? PRSA,V?OPEN \?CCL13
ZERO? LADDER-EXTENDED /?CCL16
PRINTR "The ladder is already extended."
?CCL16: EQUAL? HERE,STORAGE-EAST,STORAGE-WEST,BOOTH-2 /?CTR17
EQUAL? HERE,UPPER-ELEVATOR,LOWER-ELEVATOR \?CCL18
?CTR17: PRINTR "You can't extend the ladder in this tiny space!"
?CCL18: IN? LADDER,ADVENTURER \?CCL22
PRINTR "You couldn't possibly extend the ladder while you're holding it."
?CCL22: FSET LADDER,TRYTAKEBIT
SET 'LADDER-EXTENDED,TRUE-VALUE
SET 'C-ELAPSED,36
PRINTR "The ladder extends to a length of around eight meters."
?CCL13: EQUAL? PRSA,V?CLOSE \?CCL24
ZERO? LADDER-EXTENDED /?CCL27
SET 'C-ELAPSED,21
ZERO? LADDER-FLAG /?CCL30
SET 'LADDER-FLAG,FALSE-VALUE
REMOVE LADDER
PRINTR "As the ladder shortens it plunges into the rift."
?CCL30: SET 'LADDER-EXTENDED,FALSE-VALUE
FCLEAR LADDER,TRYTAKEBIT
PRINTR "The ladder collapses to a length of around two-and-a-half meters."
?CCL27: PRINTR "The ladder is already in its collapsed state."
?CCL24: EQUAL? PRSA,V?ATTRACT,V?SPAN \?CCL32
EQUAL? PRSI,RIFT \?CCL32
ZERO? LADDER-FLAG /?CCL37
PRINTR "The ladder already spans the rift."
?CCL37: ZERO? LADDER-EXTENDED /?CCL40
SET 'LADDER-FLAG,TRUE-VALUE
FSET LADDER,NDESCBIT
PRINTR "The ladder swings out across the rift and comes to rest on the far edge, spanning the precipice."
?CCL40: REMOVE LADDER
PRINTR "The ladder, far too short to reach the other edge of the rift, plunges into the rift and is lost forever."
?CCL32: EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \FALSE
ZERO? LADDER-FLAG /?CCL45
PRINTR "You can't climb a horizontal ladder!"
?CCL45: IN? LADDER,ADVENTURER \FALSE
PRINTR "That would be a neat trick, considering that you're holding it."
.FUNCT MESS-HALL-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a large hall lined with tables and benches. An opening to the north leads back to the corridor. A door to the south is "
CALL DDESC,KITCHEN-DOOR
PRINTR ". Next to the door is a small slot."
.FUNCT KITCHEN-DOOR-F
EQUAL? PRSA,V?OPEN \FALSE
PRINTR "A light flashes ""Pleez yuuz kitcin akses kard."""
.FUNCT DISPENSER-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "This wall-mounted unit contains an octagonal niche beneath a spout. "
IN? CANTEEN,DISPENSER \?CND4
PRINTI "A canteen is resting in the niche, its mouth lying just below the spout. "
?CND4: PRINTR "Above the spout is a button. The machine is labelled ""Hii Prooteen Likwid Dispensur."""
?CCL3: EQUAL? PRSA,V?CLOSE \?CCL7
CALL NO-CLOSE
RTRUE
?CCL7: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSO,CANTEEN \?CCL12
MOVE CANTEEN,DISPENSER
PRINTR "The canteen fits snugly into the octagonal niche, its mouth resting just below the spout of the machine."
?CCL12: PRINTR "It doesn't fit in the niche."
.FUNCT HIGH-PROTEIN-F,X=0
EQUAL? PRSA,V?EAT \?CCL3
IN? CANTEEN,ADVENTURER /?CCL6
SET 'PRSO,CANTEEN
CALL NOT-HOLDING
RSTACK
?CCL6: ZERO? HUNGER-LEVEL \?CCL9
PRINT NOT-HUNGRY
CRLF
RTRUE
?CCL9: REMOVE HIGH-PROTEIN
SET 'C-ELAPSED,15
SET 'HUNGER-LEVEL,0
CALL QUEUE,I-HUNGER-WARNINGS,3600
PUT STACK,0,1
PRINTR "Mmmm....that was good. It certainly quenched your thirst and satisfied your hunger."
?CCL3: EQUAL? PRSA,V?POUR \FALSE
EQUAL? PRSO,HIGH-PROTEIN \FALSE
IN? CANTEEN,ADVENTURER /?CCL16
PRINTR "Maybe if you were holding the canteen..."
?CCL16: ZERO? PRSI \?CND14
SET 'PRSI,GROUND
?CND14: EQUAL? PRSI,FLASK \?CCL20
CALL WORTHLESS-ACTION
RSTACK
?CCL20: EQUAL? PRSI,FUNNEL-HOLE \?CCL22
IN? CHEMICAL-FLUID,FLASK \?CND23
SET 'X,TRUE-VALUE
?CND23: SET 'CHEMICAL-REQUIRED,10
REMOVE HIGH-PROTEIN
CALL PERFORM,V?POUR,CHEMICAL-FLUID,FUNNEL-HOLE
ZERO? X /TRUE
MOVE CHEMICAL-FLUID,FLASK
RTRUE
?CCL22: REMOVE HIGH-PROTEIN
PRINTI "The protein-rich fluid pours over the "
PRINTD PRSI
PRINTR " and then dries up."
.FUNCT WORTHLESS-ACTION
PRINTR "A worthless action -- and much too difficult for a poorly-written program like this one to handle."
.FUNCT LONG-HALL-F
PRINTI "You walk down the long, featureless hallway for a long time. Finally, you see "
SET 'C-ELAPSED,160
EQUAL? HERE,CORRIDOR-JUNCTION \?CCL3
PRINTI "some doorways ahead..."
CRLF
CRLF
RETURN DORM-CORRIDOR
?CCL3: PRINTI "an intersection ahead..."
CRLF
CRLF
RETURN CORRIDOR-JUNCTION
.FUNCT ADMIN-CORRIDOR-S-F,RARG
EQUAL? RARG,M-END \FALSE
FSET? KEY,INVISIBLE \FALSE
RANDOM 100
LESS? 20,STACK /FALSE
PRINTR "You catch, out of the corner of your eye, a glint of light from the direction of the floor."
.FUNCT CREVICE-F
EQUAL? PRSA,V?REACH \?CCL3
PRINTR "The crevice is too narrow to reach into."
?CCL3: EQUAL? PRSA,V?SEARCH,V?EXAMINE,V?LOOK-INSIDE \FALSE
FSET? KEY,TOUCHBIT \?CCL8
PRINTR "Nothing there but bunches of dust."
?CCL8: FCLEAR KEY,INVISIBLE
PRINTR "Lying at the bottom of the narrow crack, partly covered by layers of dust, is a shiny steel key!"
.FUNCT KEY-F
EQUAL? PRSA,V?MOVE,V?ZATTRACT,V?TAKE \?CCL3
FSET? KEY,TOUCHBIT /?CCL3
EQUAL? PRSI,PLIERS \?CCL8
PRINTR "These are heavy-duty pliers, too large to reach into this narrow crack."
?CCL8: EQUAL? PRSI,MAGNET \?CCL10
CALL PERFORM,V?ATTRACT,MAGNET,KEY
RTRUE
?CCL10: ZERO? PRSI /?CCL12
PRINTR "Nice try."
?CCL12: PRINTR "Either the crevice is too narrow, or your fingers are too large."
?CCL3: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,CREVICE \FALSE
PRINTR "And you wonder why you're still only an Ensign Seventh Class?"
.FUNCT ADMIN-CORRIDOR-F,RARG
ZERO? LADDER-FLAG /?CCL3
EQUAL? RARG,M-ENTER \?CCL3
MOVE LADDER,HERE
RTRUE
?CCL3: EQUAL? RARG,M-LOOK \FALSE
PRINTI "The hallway, in fact the entire building, has been rent apart here, presumably by seismic upheaval. You can see the sky through the severed roof above, and the ground is thick with rubble. To the north is a gaping rift, at least eight meters across and thirty meters deep. "
ZERO? LADDER-FLAG /?CND8
PRINTI "A metal ladder spans the rift. "
?CND8: PRINTR "A wide doorway, labelled ""Sistumz Moniturz,"" leads west."
.FUNCT ADMIN-CORRIDOR-N-F,RARG
ZERO? LADDER-FLAG /?CCL3
EQUAL? RARG,M-ENTER \?CCL3
MOVE LADDER,HERE
RTRUE
?CCL3: EQUAL? RARG,M-LOOK \FALSE
PRINTI "The corridor ends here. Portals lead west, north, and east. Signs above these portals read, respectively, ""Administraativ Awfisiz,"" ""Tranzportaashun Suplii,"" and ""Plan Ruum."" To the south is a wide rift"
ZERO? LADDER-FLAG /?CND8
PRINTI ", spanned by a metal ladder,"
?CND8: PRINTR " separating this area from the rest of the building."
.FUNCT LADDER-EXIT-F
ZERO? LADDER-FLAG /?CCL3
SET 'C-ELAPSED,33
PRINTI "You slowly make your way across the swaying ladder. You can see sharp, pointy rocks at the bottom of the rift, far below..."
CRLF
CRLF
EQUAL? HERE,ADMIN-CORRIDOR-N \?CCL6
RETURN ADMIN-CORRIDOR
?CCL6: RETURN ADMIN-CORRIDOR-N
?CCL3: PRINTI "The rift is too wide to jump across."
CRLF
RFALSE
.FUNCT RIFT-F
EQUAL? PRSA,V?LEAP \?CCL3
CALL JIGS-UP,STR?122
RSTACK
?CCL3: EQUAL? PRSA,V?PUT \?CCL5
EQUAL? RIFT,PRSI \?CCL5
EQUAL? PRSO,LASER \?CND8
CALL INT,I-WARMTH
PUT STACK,0,0
?CND8: REMOVE PRSO
EQUAL? PRSO,SCRUB-BRUSH \?CCL12
PRINTR "You watch with tremendous satisfaction as the brush is lost forever."
?CCL12: PRINTI "The "
PRINTD PRSO
PRINTR " sails gracefully into the rift."
?CCL5: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \FALSE
PRINTR "The rift is at least eight meters wide and more than thirty meters deep. The bottom is covered with sharp and nasty rocks."
.FUNCT SYSTEMS-MONITORS-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a large room filled with tables full of strange equipment. "
CALL DESCRIBE-MONITORS
RSTACK
.FUNCT DESCRIBE-MONITORS
PRINTI "The far wall is filled with a number of monitors. Of these, the ones labelled "
ZERO? DEFENSE-FIXED /?CND1
PRINTI "PLANATEREE DEFENS, "
?CND1: ZERO? COURSE-CONTROL-FIXED /?CND3
PRINTI "PLANATEREE KORS KUNTROOL, "
?CND3: ZERO? COMM-FIXED /?CND5
PRINTI "KUMUUNIKAASHUNZ, "
?CND5: PRINTI "LIIBREREE, REEAKTURZ, and LIIF SUPORT are green, but the one"
ZERO? DEFENSE-FIXED /?CCL8
ZERO? COURSE-CONTROL-FIXED /?CCL8
ZERO? COMM-FIXED \?CND7
?CCL8: PRINTC 115
?CND7: PRINTI " labelled "
ZERO? DEFENSE-FIXED \?CND12
PRINTI "PLANATEREE DEFENS, "
?CND12: ZERO? COURSE-CONTROL-FIXED \?CND14
PRINTI "PLANATEREE KORS KUNTROOL, "
?CND14: ZERO? COMM-FIXED \?CND16
PRINTI "KUMUUNIKAASHUNZ, "
?CND16: ZERO? DEFENSE-FIXED /?CCL19
ZERO? COURSE-CONTROL-FIXED /?CCL19
ZERO? COMM-FIXED \?CND18
?CCL19: PRINTI "and "
?CND18: PRINTI "PRAJEKT KUNTROOL indicate"
ZERO? DEFENSE-FIXED /?CND23
ZERO? COURSE-CONTROL-FIXED /?CND23
ZERO? COMM-FIXED /?CND23
PRINTC 115
?CND23: PRINTR " a malfunctioning condition."
.FUNCT DESK-F
EQUAL? PRSA,V?EXAMINE,V?SEARCH \FALSE
PRINTI "The desk has a drawer which is currently "
CALL DDESC,PRSO
PRINTR "."
.FUNCT OIL-CAN-F
EQUAL? PRSA,V?POUR \?CCL3
ZERO? PRSI \?CND4
SET 'PRSI,GROUND
?CND4: CALL PERFORM,V?OIL,PRSI
RTRUE
?CCL3: EQUAL? PRSA,V?EMPTY \FALSE
PRINTR "Pretty much impossible -- you could only do that one drop at a time."
.FUNCT CARTON-F
EQUAL? PRSA,V?CLOSE \FALSE
CALL NO-CLOSE
RTRUE
.FUNCT CRACKED-BOARD-F
EQUAL? PRSA,V?EXAMINE \FALSE
CALL EXAMINE-BOARD
PRINTR " This one looks as though it's been dropped."
.FUNCT GOOD-BEDISTOR-F
EQUAL? PRSA,V?TAKE \FALSE
ZERO? COURSE-CONTROL-FIXED /FALSE
CALL JIGS-UP,STR?137
RSTACK
.FUNCT REACTOR-ELEVATOR-DOOR-F
EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
PRINTR "It won't budge."
.FUNCT I-REACTOR-DOOR-CLOSE
CALL QUEUE,I-REACTOR-DOOR-CLOSE,-1
PUT STACK,0,1
EQUAL? HERE,REACTOR-ELEVATOR /FALSE
FCLEAR REACTOR-ELEVATOR-DOOR,OPENBIT
EQUAL? HERE,REACTOR-CONTROL \?CND4
CRLF
PRINTI "The elevator door slides shut."
CRLF
?CND4: CALL INT,I-REACTOR-DOOR-CLOSE
PUT STACK,0,0
RTRUE
.FUNCT FLASK-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "The flask has a wide mouth and looks large enough to hold one or two liters. It is made of glass, or perhaps some tough plastic"
IN? CHEMICAL-FLUID,FLASK \?CND4
PRINTI ", and is filled with a milky white fluid"
?CND4: PRINTR "."
?CCL3: EQUAL? PRSA,V?CLOSE \?CCL7
CALL NO-CLOSE
RTRUE
?CCL7: EQUAL? PRSA,V?EMPTY \FALSE
IN? CHEMICAL-FLUID,FLASK \FALSE
EQUAL? PRSI,FUNNEL-HOLE \FALSE
CALL PERFORM,V?POUR,CHEMICAL-FLUID,FUNNEL-HOLE
RTRUE
.FUNCT MAGNET-F
EQUAL? PRSA,V?TAKE \?CCL3
CALL QUEUE,I-MAGNET,-1
PUT STACK,0,1
RFALSE
?CCL3: EQUAL? PRSA,V?PUT-ON,V?ATTRACT \FALSE
EQUAL? PRSO,MAGNET \?CCL8
IN? MAGNET,ADVENTURER /?CCL8
CALL NOT-HOLDING
RSTACK
?CCL8: FSET? KEY,TOUCHBIT \?CCL12
EQUAL? PRSI,KEY \?CCL12
MOVE KEY,ADVENTURER
PRINTR "The key jumps against the ends of the magnet and sticks there. Proud of your feat, you remove the key from the magnet."
?CCL12: FSET? KEY,TOUCHBIT /FALSE
EQUAL? PRSI,KEY,CREVICE \FALSE
MOVE KEY,ADVENTURER
FCLEAR KEY,INVISIBLE
FCLEAR KEY,TRYTAKEBIT
FSET KEY,TOUCHBIT
PRINTR "With a spray of dust and a loud clank, a piece of metal leaps from the crevice and affixes itself to the magnet. It is a steel key! With a tug, you remove the key from the magnet."
.FUNCT I-MAGNET
IN? MAGNET,ADVENTURER \?CCL3
CALL HELD?,KITCHEN-CARD
ZERO? STACK /?CCL6
FSET KITCHEN-CARD,SCRAMBLEDBIT
RFALSE
?CCL6: CALL HELD?,SHUTTLE-CARD
ZERO? STACK /?CCL8
FSET SHUTTLE-CARD,SCRAMBLEDBIT
RFALSE
?CCL8: CALL HELD?,TELEPORTATION-CARD
ZERO? STACK /?CCL10
FSET TELEPORTATION-CARD,SCRAMBLEDBIT
RFALSE
?CCL10: CALL HELD?,UPPER-ELEVATOR-CARD
ZERO? STACK /?CCL12
FSET UPPER-ELEVATOR-CARD,SCRAMBLEDBIT
RFALSE
?CCL12: CALL HELD?,LOWER-ELEVATOR-CARD
ZERO? STACK /?CCL14
FSET LOWER-ELEVATOR-CARD,SCRAMBLEDBIT
RFALSE
?CCL14: CALL HELD?,MINI-CARD
ZERO? STACK /?CCL16
FSET MINI-CARD,SCRAMBLEDBIT
RFALSE
?CCL16: CALL HELD?,ID-CARD
ZERO? STACK /FALSE
FSET ID-CARD,SCRAMBLEDBIT
RFALSE
?CCL3: CALL INT,I-MAGNET
PUT STACK,0,0
RFALSE
.FUNCT MACHINE-SHOP-F,RARG
EQUAL? RARG,M-LOOK \?CCL3
PRINTI "This room is probably some sort of machine shop filled with a variety of unusual machines. Doorways lead north, east, and west.
Standing against the rear wall is a large dispensing machine with a spout. "
EQUAL? SPOUT-PLACED,GROUND /?CND4
PRINTI "Sitting under the spout is "
FSET? SPOUT-PLACED,VOWELBIT \?CCL8
PRINTI "an "
JUMP ?CND6
?CCL8: PRINTI "a "
?CND6: PRINTD SPOUT-PLACED
PRINTI ". "
?CND4: PRINTR "The dispenser is lined with brightly-colored buttons. The first four buttons, labelled ""KUULINTS 1 - 4"", are colored red, blue, green, and yellow. The next three buttons, labelled ""KATALISTS 1 - 3"", are colored gray, brown, and black. The last two buttons are both white. One of these is square and says ""BAAS."" The other white button is round and says ""ASID."""
?CCL3: EQUAL? RARG,M-END \FALSE
EQUAL? SPOUT-PLACED,GROUND \FALSE
IN? FLOYD,HERE \FALSE
FSET? FLOYD,RLANDBIT \FALSE
RANDOM 100
LESS? 15,STACK /FALSE
SET 'FLOYD-SPOKE,TRUE-VALUE
PRINTR "Floyd pushes one of the dispenser buttons. Fluid pours from the spout and splashes across the floor. Floyd jumps up and down, giggling."
.FUNCT CHEMICAL-DISPENSER-F
EQUAL? PRSA,V?PUT-UNDER \FALSE
EQUAL? PRSI,CHEMICAL-DISPENSER \FALSE
EQUAL? SPOUT-PLACED,GROUND \?CCL8
MOVE PRSO,HERE
PRINTI "The "
PRINTD PRSO
PRINTI " is now sitting under the spout."
CRLF
SET 'SPOUT-PLACED,PRSO
RETURN SPOUT-PLACED
?CCL8: PRINTI "The "
PRINTD SPOUT-PLACED
PRINTR " is already resting under the spout."
.FUNCT CHEM-BUTTON-F
EQUAL? PRSA,V?PUSH \FALSE
FSET? CHEMICAL-DISPENSER,MUNGEDBIT \?CCL6
PRINTR "The machine coughs a few times, but nothing else happens."
?CCL6: EQUAL? SPOUT-PLACED,FLASK \?CCL8
IN? CHEMICAL-FLUID,FLASK \?CCL11
PRINTR "Another dose of the chemical fluid pours out of the spout, splashes over the already-full flask, spills onto the floor, and dries up."
?CCL11: MOVE CHEMICAL-FLUID,FLASK
PRINTI "The flask fills with some "
GETP PRSO,P?C-MOVE >CHEMICAL-FLAG
GETP PRSO,P?C-MOVE
GET COLOR-LTBL,STACK
PRINT STACK
PRINTR " chemical fluid. The fluid gradually turns milky white."
?CCL8: EQUAL? SPOUT-PLACED,CANTEEN \?CCL13
FSET? CANTEEN,OPENBIT \?CCL13
PRINTR "Chemical fluid gushes from the spout. Unfortunately, the mouth of the canteen is very narrow, and the fluid just splashes over it."
?CCL13: PRINTI "Some sort of chemical fluid pours out of the spout, spills all over the "
PRINTD SPOUT-PLACED
PRINTI ", and dries up."
CRLF
EQUAL? PRSO,ROUND-WHITE-BUTTON,SQUARE-WHITE-BUTTON \TRUE
FSET? SPOUT-PLACED,ACIDBIT /?CCL17
FSET? SPOUT-PLACED,MUNGBIT \TRUE
?CCL17: SET 'CHEMICAL-FLAG,9
CALL PERFORM,V?POUR,CHEMICAL-FLUID,SPOUT-PLACED
RTRUE
.FUNCT FLOYD-F,X,N
EQUAL? FLOYD,WINNER \?CCL3
SET 'FLOYD-SPOKE,TRUE-VALUE
EQUAL? PRSA,V?GIVE \?CCL6
EQUAL? PRSI,ME \?CCL6
SET 'WINNER,ADVENTURER
CALL PERFORM,V?ASK-FOR,FLOYD,PRSO
RTRUE
?CCL6: EQUAL? PRSA,V?SGIVE \?CCL10
EQUAL? PRSO,ME \?CCL10
SET 'WINNER,ADVENTURER
CALL PERFORM,V?ASK-FOR,FLOYD,PRSI
RTRUE
?CCL10: EQUAL? PRSA,V?WALK \?CCL14
EQUAL? HERE,REPAIR-ROOM \?CCL17
EQUAL? PRSO,P?NORTH,P?IN \?CCL17
CALL FLOYD-THROUGH-HOLE
JUMP ?CND15
?CCL17: EQUAL? HERE,BIO-LOCK-EAST \?CCL21
EQUAL? PRSO,P?EAST \?CCL21
CALL FLOYD-INTO-LAB
JUMP ?CND15
?CCL21: EQUAL? HERE,RADIATION-LOCK-EAST \?CCL25
EQUAL? PRSO,P?EAST \?CCL25
PRINTI """After you."""
CRLF
JUMP ?CND15
?CCL25: PRINTI "Floyd looks slightly embarrassed. ""You know me and my sense of direction."" Then he looks up at you with wide, trusting eyes. ""Tell Floyd a story?"""
CRLF
?CND15: CALL FLUSH
ZERO? STACK /TRUE
RETURN 2
?CCL14: EQUAL? PRSA,V?THROUGH \?CCL33
CALL FLOYDS-FAMOUS-DOOR-ROUTINE
CALL FLUSH
ZERO? STACK /TRUE
RETURN 2
?CCL33: EQUAL? PRSA,V?TAKE \?CCL39
EQUAL? PRSO,GOOD-BOARD \?CCL39
IN? GOOD-BOARD,ROBOT-HOLE /?CCL44
PRINTI "Floyd looks half-bored and half-annoyed. "
PRINTR "Floyd already did that. How about some leap-frogger?"""
?CCL44: ZERO? BOARD-REPORTED /?CCL46
MOVE GOOD-BOARD,ADVENTURER
FCLEAR GOOD-BOARD,NDESCBIT
FSET GOOD-BOARD,TAKEBIT
SET 'C-ELAPSED,22
PRINTR "Floyd shrugs. ""If you say so."" He vanishes for a few minutes, and returns holding the fromitz board. It seems to be in good shape. He tosses it toward you, and you just manage to catch it before it smashes."
?CCL46: PRINTR """Huh?"" asks Floyd. ""What fromitz board?"""
?CCL39: EQUAL? PRSA,V?FOLLOW \?CCL48
EQUAL? PRSO,ME \?CCL48
PRINTR """Okay!"""
?CCL48: EQUAL? PRSA,V?HELLO \?CCL52
SET 'WINNER,ADVENTURER
CALL PERFORM,V?HELLO,FLOYD
RTRUE
?CCL52: EQUAL? PRSA,V?DROP \?CCL54
IN? PRSO,FLOYD \?CCL57
RANDOM 100
LESS? 50,STACK /?CCL60
MOVE PRSO,HERE
PRINTI "Floyd shrugs and drops the "
PRINTD PRSO
PRINTR "."
?CCL60: PRINTI "Floyd clutches the "
PRINTD PRSO
PRINTR " even more tightly. ""Floyd won't,"" he says defiantly."
?CCL57: CALL FLOYD-NOT-HAVE
RSTACK
?CCL54: PRINTI "Floyd whines, ""Enough talking! Let's play Hider-and-Seeker."""
CRLF
RETURN 2
?CCL3: EQUAL? PRSA,V?CLOSE \?CCL64
PRINTR "Huh?"
?CCL64: EQUAL? PRSA,V?REACH,V?LOOK-INSIDE \?CCL66
CALL PERFORM,V?OPEN,FLOYD
RTRUE
?CCL66: FSET? FLOYD,RLANDBIT \?CCL68
SET 'FLOYD-SPOKE,TRUE-VALUE
EQUAL? PRSA,V?LAMP-ON \?CCL71
PRINTR "He's already been activated."
?CCL71: EQUAL? PRSA,V?LAMP-OFF \?CCL73
FCLEAR FLOYD,RLANDBIT
FCLEAR FLOYD,ACTORBIT
CALL INT,I-FLOYD
PUT STACK,0,0
PRINTI "Floyd, shocked by this betrayal from his new-found friend, whimpers and keels over"
FIRST? FLOYD \?CCL76
PRINTI ", dropping what he was carrying."
CRLF
JUMP ?CND74
?CCL76: PRINTC 46
CRLF
?CND74: FIRST? FLOYD >X /?PRG78
?PRG78: ZERO? X /TRUE
NEXT? X >N /?BOGUS83
?BOGUS83: MOVE X,HERE
SET 'X,N
JUMP ?PRG78
?CCL73: EQUAL? PRSA,V?EXAMINE \?CCL85
PRINTR "From its design, the robot seems to be of the multi-purpose sort. It is slightly cross-eyed, and its mechanical mouth forms a lopsided grin."
?CCL85: EQUAL? PRSA,V?KISS \?CCL87
PRINTR "You receive a painful electric shock."
?CCL87: EQUAL? PRSA,V?SCOLD \?CCL89
PRINTR "Floyd looks defensive. ""What did Floyd do wrong?"""
?CCL89: EQUAL? PRSA,V?PLAY-WITH \?CCL91
SET 'C-ELAPSED,30
CALL QUEUE,I-FLOYD,1
PUT STACK,0,1
PRINTR "You play with Floyd for several centichrons until you drop to the floor, exhausted. Floyd pokes at you gleefully. ""C'mon! Let's play some more!"""
?CCL91: EQUAL? PRSA,V?LISTEN \?CCL93
PRINTR "Floyd is babbling about this and that."
?CCL93: EQUAL? PRSA,V?TAKE \?CCL95
EQUAL? PRSO,FLOYD \?CCL95
PRINTR "You manage to lift Floyd a few inches off the ground, but he is too heavy and you drop him suddenly. Floyd gives a surprised squeal and moves a respectable distance away."
?CCL95: EQUAL? PRSA,V?MUNG,V?ATTACK \?CCL99
PRINTR "Floyd starts dashing around the room. ""Oh boy oh boy oh boy! I haven't played Chase and Tag for years! You be It! Nah, nah!"""
?CCL99: EQUAL? PRSA,V?SHAKE,V?KICK \?CCL101
PRINTR """Why you do that?"" Floyd whines. ""I think a wire now shaken loose."" He goes off into a corner and sulks."
?CCL101: EQUAL? PRSA,V?TALK,V?HELLO \?CCL103
PRINTR """Hi!"" Floyd grins and bounces up and down."
?CCL103: EQUAL? PRSA,V?OPEN,V?SCRUB,V?SEARCH \?CCL105
PRINTR "Floyd giggles and pushes you away. ""You're tickling Floyd!"" He clutches at his side panels, laughing hysterically. Oil drops stream from his eyes."
?CCL105: EQUAL? PRSA,V?PUT,V?GIVE \?CCL107
EQUAL? FLOYD,PRSI \?CCL107
EQUAL? PRSO,LAZARUS-PART \?CCL112
REMOVE FLOYD
SET 'FLOYD-FOLLOW,FALSE-VALUE
MOVE LAZARUS-PART,HERE
CALL QUEUE,I-FLOYD,40
PUT STACK,0,1
PRINTR "At first, Floyd is all grins because of your gift. Then, he realizes what it is, begins weeping, drops the breastplate, and rushes out of the room."
?CCL112: EQUAL? PRSO,RED-GOO,GREEN-GOO,BROWN-GOO \?CCL114
PRINTR "Floyd looks at the goo. ""Yech! Got any Number Seven Heavy Grease?"""
?CCL114: FIRST? FLOYD /?CTR115
RANDOM 100
LESS? 25,STACK /?CCL116
?CTR115: MOVE PRSO,HERE
PRINTI "Floyd examines the "
PRINTD PRSO
PRINTI ", shrugs, and drops "
EQUAL? PRSO,PLIERS \?CCL121
PRINTR "them."
?CCL121: PRINTR "it."
?CCL116: MOVE PRSO,FLOYD
PRINTR """Neat!"" exclaims Floyd. He thanks you profusely."
?CCL107: EQUAL? PRSA,V?SHOW \?CCL123
EQUAL? FLOYD,PRSI \?CCL123
EQUAL? PRSO,PRINT-OUT \?CCL128
ZERO? COMPUTER-FLAG \?CCL128
CALL COMPUTER-ACTION
RSTACK
?CCL128: EQUAL? PRSO,ROBOT-HOLE \?CCL132
CALL FLOYD-THROUGH-HOLE
RSTACK
?CCL132: EQUAL? HERE,REC-AREA \?CCL134
EQUAL? PRSO,PSEUDO-OBJECT \?CCL134
PRINTR """Too intellectual for Floyd. Any paddleball sets around?"""
?CCL134: EQUAL? PRSO,ID-CARD,SHUTTLE-CARD /?CTR137
EQUAL? PRSO,KITCHEN-CARD,UPPER-ELEVATOR-CARD \?CCL138
?CTR137: PRINTR "Floyd scratches his head. ""Aren't those things usually blue?"""
?CCL138: EQUAL? PRSO,LOWER-ELEVATOR-CARD \?CCL142
ZERO? CARD-REVEALED \?CCL142
SET 'CARD-REVEALED,TRUE-VALUE
PRINTR """I've got one just like that!"" says Floyd. He looks through several of his compartments, then glances at you suspiciously."
?CCL142: PRINTI "Floyd looks over the "
PRINTD PRSO
PRINTR ". ""Can you play any games with it?"" he asks."
?CCL123: EQUAL? PRSA,V?RUB \?CCL146
PRINTR "Floyd gives a contented sigh."
?CCL146: EQUAL? PRSA,V?SMELL \?CCL148
PRINTR "Floyd smells faintly of ozone and light machine oil."
?CCL148: EQUAL? PRSA,V?ASK-FOR \FALSE
IN? PRSI,FLOYD \?CCL153
MOVE PRSI,ADVENTURER
PRINTI """Okay,"" says Floyd, handing you the "
PRINTD PRSI
PRINTR ", ""but only because you're Floyd's best friend."""
?CCL153: CALL FLOYD-NOT-HAVE
RSTACK
?CCL68: EQUAL? PRSA,V?LAMP-ON \?CCL156
ZERO? FLOYD-INTRODUCED /?CCL159
CALL QUEUE,I-FLOYD,-1
PUT STACK,0,1
RTRUE
?CCL159: CALL QUEUE,I-FLOYD,25
PUT STACK,0,1
PRINTI "Nothing happens."
CRLF
ZERO? FLOYD-SCORE-FLAG \TRUE
SET 'FLOYD-SCORE-FLAG,TRUE-VALUE
ADD SCORE,2 >SCORE
RTRUE
?CCL156: EQUAL? PRSA,V?LAMP-OFF \?CCL163
PRINTR "The robot doesn't seem to be on."
?CCL163: EQUAL? PRSA,V?EXAMINE \?CCL165
PRINTR "The de-activated robot is leaning against the wall, its head lolling to the side. It is short, and seems to be equipped for general-purpose work. It has apparently been turned off."
?CCL165: EQUAL? PRSA,V?OPEN,V?SEARCH \FALSE
ZERO? CARD-REVEALED \?CCL170
ZERO? CARD-STOLEN \?CCL170
FCLEAR LOWER-ELEVATOR-CARD,INVISIBLE
MOVE LOWER-ELEVATOR-CARD,ADVENTURER
CALL SCORE-OBJ,LOWER-ELEVATOR-CARD
SET 'CARD-STOLEN,TRUE-VALUE
PRINTR "In one of the robot's compartments you find and take a magnetic-striped card embossed ""Loowur Elavaatur Akses Kard."""
?CCL170: PRINTR "Your search discovers nothing in the robot's compartments except a single crayon which you leave where you found it."
.FUNCT FLOYDS-FAMOUS-DOOR-ROUTINE
EQUAL? PRSO,ROBOT-HOLE \?CCL3
CALL FLOYD-THROUGH-HOLE
RSTACK
?CCL3: EQUAL? PRSO,BIO-DOOR-EAST \?CCL5
CALL FLOYD-INTO-LAB
RSTACK
?CCL5: FSET? PRSO,DOORBIT \?CCL7
PRINTR """You go first,"" says Floyd."
?CCL7: PRINTR "Floyd scratches his head and looks at you."
.FUNCT FLUSH
ZERO? P-CONT /FALSE
SET 'P-CONT,FALSE-VALUE
CRLF
PRINTR "Floyd scratches his head and looks at you. ""What else were you saying to Floyd? I can't remember."""
.FUNCT FLOYD-INTO-LAB
ZERO? FLOYD-WAITING /?CCL3
PRINTR """As soon as you open the door, dummy."""
?CCL3: PRINTR """Are you kidding? Floyd not going in THERE without a good reason."""
.FUNCT FLOYD-NOT-HAVE
PRINTR """Floyd does not one of those have!"""
.FUNCT FLOYD-COMES-ALIVE,FOO
IN? FLOYD,HERE \?CND1
ZERO? FLOYD-REACTIVATED /?CCL5
SET 'FLOYD-SPOKE,TRUE-VALUE
PRINTI "Floyd jumps to his feet, hopping mad. ""Why you turn Floyd off?"" he asks accusingly."
CRLF
JUMP ?CND1
?CCL5: SET 'FLOYD-INTRODUCED,TRUE-VALUE
SET 'FLOYD-SPOKE,TRUE-VALUE
PRINTI "Suddenly, the robot comes to life and its head starts swivelling about. It notices you and bounds over. ""Hi! I'm B-19-7, but to everyperson I'm called Floyd. Are you a doctor-person or a planner-person? "
FIRST? ADVENTURER >FOO \?CND6
PRINTI "That's a nice "
PRINTD FOO
PRINTI " you are having there. "
?CND6: PRINTI "Let's play Hider-and-Seeker you with me."""
CRLF
?CND1: FSET FLOYD,RLANDBIT
FSET FLOYD,ACTORBIT
FSET FLOYD,TOUCHBIT
SET 'FLOYD-REACTIVATED,TRUE-VALUE
RETURN FLOYD-REACTIVATED
.FUNCT I-FLOYD
CALL QUEUE,I-FLOYD,-1
PUT STACK,0,1
FSET? FLOYD,RLANDBIT /?CCL3
FSET FLOYD,ACTORBIT
CRLF
CALL FLOYD-COMES-ALIVE
JUMP ?CND1
?CCL3: IN? FLOYD,HERE \?CCL5
ZERO? FLOYD-INTRODUCED \?CCL8
SET 'FLOYD-INTRODUCED,TRUE-VALUE
CRLF
PRINTI "The robot, now apparently active, notices you enter. ""Hi,"" he says. ""I'm Floyd!"""
CRLF
JUMP ?CND1
?CCL8: ZERO? FLOYD-FOLLOW /?CCL10
FSET? HERE,FLOYDBIT \?CCL10
RANDOM 100
LESS? 6,STACK /?CCL10
REMOVE FLOYD
SET 'FLOYD-FOLLOW,FALSE-VALUE
CRLF
PRINTI "Floyd says ""Floyd going exploring. See you later."" He glides out of the room."
CRLF
JUMP ?CND1
?CCL10: SET 'FLOYD-FOLLOW,TRUE-VALUE
RANDOM 100
LESS? 40,STACK /?CND1
ZERO? FLOYD-SPOKE \?CND1
PRINTI "Floyd "
CALL PICK-ONE,FLOYDISMS
PRINT STACK
PRINTR "."
?CCL5: ZERO? FLOYD-FOLLOW /?CCL20
RANDOM 100
LESS? 80,STACK /?CCL20
IN? LAZARUS-PART,HERE \?CND23
SET 'FLOYD-FOLLOW,FALSE-VALUE
CRLF
PRINTR "Floyd starts to follow you but notices the Lazarus breast plate. He sniffs and leaves the room."
?CND23: MOVE FLOYD,HERE
PRINTI "Floyd follows you."
CRLF
CALL KLUDGE
JUMP ?CND1
?CCL20: SET 'FLOYD-FOLLOW,FALSE-VALUE
EQUAL? HERE,BOOTH-1,BOOTH-2,BOOTH-3 \?CCL27
MOVE FLOYD,HERE
ZERO? FLOYD-INTRODUCED \?CND28
CRLF
CALL CALL-ME-FLOYD
RTRUE
?CND28: CRLF
PRINTI "Floyd scampers into the booth. ""Oooo, this is a tiny room,"" he remarks."
CRLF
JUMP ?CND1
?CCL27: EQUAL? HERE,BIO-LOCK-EAST,BIO-LOCK-WEST \?PRD33
ZERO? FLOYD-GAVE-UP /?CTR30
?PRD33: EQUAL? HERE,RADIATION-LOCK-EAST,RADIATION-LOCK-WEST \?CCL31
?CTR30: MOVE FLOYD,HERE
ZERO? FLOYD-INTRODUCED \?CND36
CRLF
CALL CALL-ME-FLOYD
RTRUE
?CND36: CRLF
PRINTI "Floyd glides after you. ""Is this...is this a squash court?"" he asks."
CRLF
JUMP ?CND1
?CCL31: EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR38
EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CTR38
EQUAL? HERE,UPPER-ELEVATOR,LOWER-ELEVATOR,REACTOR-ELEVATOR /?CTR38
EQUAL? HERE,MESS-HALL \?CCL39
IN? FLOYD,KITCHEN \?CCL39
?CTR38: MOVE FLOYD,HERE
ZERO? FLOYD-INTRODUCED \?CND46
CRLF
CALL CALL-ME-FLOYD
RTRUE
?CND46: CRLF
PRINTI "Floyd bounces into the "