-
Notifications
You must be signed in to change notification settings - Fork 24
/
globals.zap
1993 lines (1751 loc) · 59.4 KB
/
globals.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 GROUND-F
EQUAL? PRSA,V?PUT \?CCL3
EQUAL? PRSI,GROUND \?CCL3
CALL PERFORM,V?DROP,PRSO
RTRUE
?CCL3: EQUAL? PRSA,V?BOARD,V?CLIMB-ON \?CCL7
SET 'C-ELAPSED,28
PRINTR "You sit down on the floor. After a brief rest, you stand again."
?CCL7: EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? HERE,ADMIN-CORRIDOR-S \FALSE
PRINTR "A narrow, jagged crevice runs across the floor."
.FUNCT WINDOW-F
EQUAL? PRSA,V?LOOK-INSIDE \?CCL3
EQUAL? HERE,BIO-LOCK-EAST \?CCL6
PRINTI "You can see a large laboratory, dimly illuminated. A blue glow comes from a crack in the northern wall of the lab. Shadowy, ominous shapes move about within the room."
FSET? MINI-CARD,TOUCHBIT /?CND7
PRINTR " On the floor, just inside the door, you can see a magnetic-striped card."
?CND7: CRLF
RTRUE
?CCL6: EQUAL? HERE,BIO-LAB \?CCL10
PRINTR "You see the Bio Lock."
?CCL10: EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR11
EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL12
?CTR11: PRINTI "You see "
CALL DESCRIBE-VIEW
CRLF
RTRUE
?CCL12: EQUAL? HERE,BALCONY \?CCL16
PRINTR "Water. Lots and lots of water."
?CCL16: EQUAL? HERE,HELICOPTER \?CCL18
PRINTR "You see the helipad and the ocean beyond."
?CCL18: EQUAL? HERE,ESCAPE-POD \?CCL20
LESS? TRIP-COUNTER,2 \?CCL23
PRINTR "You can see debris from the exploding Feinstein."
?CCL23: GRTR? TRIP-COUNTER,8 \?CCL25
PRINTR "You can see a planet, hopefully a hospitable one."
?CCL25: PRINTR "The window has polarized to blackness."
?CCL20: EQUAL? HERE,LARGE-OFFICE \FALSE
PRINTR "You can see the dormitories and other parts of the complex in the distance. Water is visible in every direction."
?CCL3: EQUAL? PRSA,V?THROUGH \?CCL29
EQUAL? HERE,BALCONY \?CCL29
CALL JIGS-UP,STR?1
RSTACK
?CCL29: EQUAL? PRSA,V?OPEN \?CCL33
PRINTR "This window doesn't open."
?CCL33: EQUAL? PRSA,V?EXAMINE \?CCL35
EQUAL? HERE,BALCONY \?CCL35
PRINTR "They're shattered."
?CCL35: EQUAL? PRSA,V?MUNG \FALSE
EQUAL? HERE,BALCONY \?CCL42
PRINTR "They're already broken."
?CCL42: PRINTR "It's made of tough Zynoid plastic."
.FUNCT CLIFF-F
EQUAL? HERE,WEST-WING \?CCL3
EQUAL? PRSA,V?LEAP \?CCL6
CALL JIGS-UP,STR?2
RSTACK
?CCL6: EQUAL? PRSA,V?THROW-OFF \FALSE
EQUAL? PRSO,LASER \?CND9
CALL INT,I-WARMTH
PUT STACK,0,0
?CND9: REMOVE PRSO
PRINTI "The "
PRINTD PRSO
PRINTR " falls into the ocean below."
?CCL3: EQUAL? PRSA,V?CLIMB-FOO,V?CLIMB-UP \?CCL13
CALL DO-WALK,P?UP
RSTACK
?CCL13: EQUAL? PRSA,V?CLIMB-DOWN \FALSE
CALL DO-WALK,P?DOWN
RSTACK
.FUNCT OCEAN-F
EQUAL? PRSA,V?RUB,V?THROUGH,V?TAKE \?CCL3
PRINTR "You can't reach the ocean from here."
?CCL3: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "It stretches as far as you can see."
.FUNCT TABLES-F
EQUAL? PRSA,V?LOOK-UNDER \?CCL3
EQUAL? HERE,MESS-HALL \?CCL3
PRINTR "Wow!!! Under the table are three keys, a sack of food, a reactor elevator access pass, one hundred gold pieces ... Just kidding. Actually, there's nothing there."
?CCL3: EQUAL? PRSA,V?PUT-ON \FALSE
EQUAL? PRSI,TABLES \FALSE
PRINTR "That would accomplish nothing useful."
.FUNCT SHELVES-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTR "The shelves are pretty dusty."
?CCL3: EQUAL? PRSA,V?PUT-ON \FALSE
EQUAL? PRSI,SHELVES \FALSE
PRINTR "That would be a waste of time."
.FUNCT LIGHTS-F
EQUAL? PRSA,V?EXAMINE \FALSE
EQUAL? HERE,COMPUTER-ROOM \FALSE
PRINTR "The red light would seem to indicate a malfunction in the computer."
.FUNCT GLOBAL-DOORWAY-F
EQUAL? PRSA,V?THROUGH \?CCL3
CALL USE-DIRECTIONS
RSTACK
?CCL3: EQUAL? PRSA,V?CLOSE,V?OPEN \?CCL5
PRINTR "It's just an opening; you can't open or close it."
?CCL5: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
PRINTR "Can't see much from here. Try going there."
.FUNCT USE-DIRECTIONS
PRINTR "Use compass directions for movement."
.FUNCT NO-CLOSE
PRINTR "There's no way to close it."
.FUNCT CONTROLS-F
EQUAL? HERE,UPPER-ELEVATOR,LOWER-ELEVATOR,BOOTH-1 /?CTR2
EQUAL? HERE,REACTOR-ELEVATOR,BOOTH-2,BOOTH-3 \?CCL3
?CTR2: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "The control panel is a simple one, as described. Just a small slot and two buttons."
?CCL3: EQUAL? PRSA,V?PULL,V?PUSH /?CTR9
EQUAL? PRSA,V?EXAMINE,V?TAKE,V?SET /?CTR9
EQUAL? PRSA,V?TURN,V?MOVE,V?RUB \?CCL10
?CTR9: EQUAL? HERE,HELICOPTER \?CCL16
PRINTR "The controls are covered and locked."
?CCL16: EQUAL? HERE,ESCAPE-POD \?CCL18
PRINTR "The controls are entirely automated."
?CCL18: PRINTR "The controls are incredibly complicated and you shouldn't even be thinking about touching them."
?CCL10: EQUAL? HERE,HELICOPTER \FALSE
EQUAL? PRSA,V?UNLOCK,V?OPEN \FALSE
PRINTR "You don't even have the orange key!"
.FUNCT GLOBAL-GAMES-F
EQUAL? PRSA,V?PLAY \FALSE
IN? FLOYD,HERE \?CCL6
CALL PERFORM,V?PLAY-WITH,FLOYD
RTRUE
?CCL6: PRINTR "Okay. Gee, that was fun."
.FUNCT HANDS-F
EQUAL? PRSA,V?SHAKE \FALSE
IN? AMBASSADOR,HERE \?CCL6
PRINTR "A repulsive idea."
?CCL6: IN? BLATHER,HERE \?CCL8
PRINTR "Saluting might be a better idea."
?CCL8: IN? FLOYD,HERE \?CCL10
FSET? FLOYD,RLANDBIT \?CCL10
PRINTR "You shake one of Floyd's grasping extensions."
?CCL10: PRINTR "There's no one to shake hands with."
.FUNCT SLEEP-F
EQUAL? PRSA,V?WALK-TO \FALSE
CALL V-SLEEP
RSTACK
.FUNCT CRETIN-F
EQUAL? PRSA,V?GIVE \?CCL3
CALL PERFORM,V?TAKE,PRSO
RTRUE
?CCL3: EQUAL? PRSA,V?SCRUB \?CCL5
PRINTR "If only you'd done that before the last inspection, you wouldn't have gotten 300 demerits."
?CCL5: EQUAL? PRSA,V?DROP \?CCL7
PRINTR "Huh?"
?CCL7: EQUAL? PRSA,V?SMELL \?CCL9
PRINTR "Phew!"
?CCL9: EQUAL? PRSA,V?FOLLOW \?CCL11
PRINTR "It would be hard not to."
?CCL11: EQUAL? PRSA,V?EAT \?CCL13
PRINTR "Auto-cannibalism is not the answer."
?CCL13: EQUAL? PRSA,V?MUNG,V?ATTACK \?CCL15
EQUAL? PRSO,ME \?CCL18
CALL JIGS-UP,STR?3
RSTACK
?CCL18: PRINTR "What a silly idea!"
?CCL15: EQUAL? PRSA,V?TAKE \?CCL20
PRINTR "How romantic!"
?CCL20: EQUAL? PRSA,V?DISEMBARK \?CCL22
PRINTR "You'll have to do that on your own."
?CCL22: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "That's difficult unless your eyes are prehensile."
.FUNCT DDESC,DOOR
FSET? DOOR,OPENBIT \?CCL3
PRINTI "open"
RTRUE
?CCL3: PRINTI "closed"
RTRUE
.FUNCT ALREADY-OPEN
PRINTR "It's already open!"
.FUNCT IS-CLOSED
PRINTR "It is closed!"
.FUNCT V-THROUGH,OBJ=0,M
ZERO? OBJ \?CCL3
FSET? PRSO,VEHBIT \?CCL3
CALL PERFORM,V?BOARD,PRSO
RTRUE
?CCL3: ZERO? OBJ \?CCL7
FSET? PRSO,TAKEBIT /?CCL7
PRINTI "You hit your head against the "
PRINTD PRSO
PRINTR " as you attempt this feat."
?CCL7: ZERO? OBJ /?CCL11
PRINTR "You can't do that!"
?CCL11: IN? PRSO,ADVENTURER \?CCL13
PRINTR "That would involve quite a contortion!"
?CCL13: CALL PICK-ONE,YUKS
PRINT STACK
CRLF
RTRUE
.FUNCT FIND-IN,WHERE,WHAT,W
FIRST? WHERE >W /?BOGUS1
?BOGUS1: ZERO? W /FALSE
?PRG4: FSET? W,WHAT \?CCL8
RETURN W
?CCL8: NEXT? W >W /?PRG4
RFALSE
.FUNCT NOT-HERE-OBJECT-F,TBL,PRSO?=1,OBJ
EQUAL? PRSO,NOT-HERE-OBJECT \?CCL3
EQUAL? PRSI,NOT-HERE-OBJECT \?CCL3
PRINTR "Those things aren't here!"
?CCL3: EQUAL? PRSO,NOT-HERE-OBJECT \?CCL7
SET 'TBL,P-PRSO
JUMP ?CND1
?CCL7: SET 'TBL,P-PRSI
SET 'PRSO?,FALSE-VALUE
?CND1: ZERO? PRSO? /?CND8
EQUAL? PRSA,V?TYPE \?CCL12
CALL PERFORM,V?TYPE,FLOYD
RTRUE
?CCL12: EQUAL? PRSA,V?EXAMINE /?CCL13
EQUAL? WINNER,FLOYD \?CND8
EQUAL? PRSA,V?FIND,V?TAKE \?CND8
?CCL13: CALL FIND-NOT-HERE,TBL,PRSO? >OBJ
ZERO? OBJ /FALSE
EQUAL? OBJ,NOT-HERE-OBJECT \TRUE
?CND8: EQUAL? WINNER,ADVENTURER \?CCL25
PRINTI "You can't see any"
CALL NOT-HERE-PRINT,PRSO?
PRINTI " here!"
CRLF
EQUAL? PRSA,V?TELL \TRUE
SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
RETURN 2
?CCL25: PRINTI "The "
PRINTD WINNER
PRINTI " seems confused. ""I don't see any"
CALL NOT-HERE-PRINT,PRSO?
PRINTR " here!"""
.FUNCT FIND-NOT-HERE,TBL,PRSO?,M-F,OBJ
CALL MOBY-FIND,TBL >M-F
EQUAL? 1,M-F \?CCL3
ZERO? PRSO? /?CCL6
SET 'PRSO,P-MOBY-FOUND
RFALSE
?CCL6: SET 'PRSI,P-MOBY-FOUND
RFALSE
?CCL3: ZERO? PRSO? \?CCL8
PRINTI "You wouldn't find any"
CALL NOT-HERE-PRINT,PRSO?
PRINTR " there."
?CCL8: RETURN NOT-HERE-OBJECT
.FUNCT NOT-HERE-PRINT,PRSO?,?TMP1
ZERO? P-OFLAG \?CTR2
ZERO? P-MERGED /?CCL3
?CTR2: ZERO? P-XADJ /?CND6
PRINTC 32
PRINTB P-XADJN
?CND6: ZERO? P-XNAM /FALSE
PRINTC 32
PRINTB P-XNAM
RTRUE
?CCL3: ZERO? PRSO? /?CCL12
GET P-ITBL,P-NC1 >?TMP1
GET P-ITBL,P-NC1L
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
RSTACK
?CCL12: GET P-ITBL,P-NC2 >?TMP1
GET P-ITBL,P-NC2L
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
RSTACK
.FUNCT DECK-NINE-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a featureless corridor similar to every other corridor on the ship. It curves away to starboard, and a gangway leads up"
FSET? GANGWAY-DOOR,OPENBIT \?CCL6
PRINTC 46
JUMP ?CND4
?CCL6: PRINTI ", but both of these are blocked by closed bulkheads."
?CND4: PRINTI " To port is the entrance to one of the ship's primary escape pods. The pod bulkhead is "
CALL DDESC,POD-DOOR
PRINTR "."
.FUNCT CHRONOMETER-F
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
PRINTI "It is a standard wrist chronometer with a digital display. "
CALL TELL-TIME
PRINTR " The back is engraved with the message ""Good luck in the Patrol! Love, Mom and Dad."""
.FUNCT TELL-TIME
PRINTI "According to the chronometer, the current time is "
FSET? CHRONOMETER,MUNGEDBIT \?CCL3
PRINTN MUNGED-TIME
JUMP ?CND1
?CCL3: PRINTN INTERNAL-MOVES
?CND1: PRINTC 46
RTRUE
.FUNCT PATROL-UNIFORM-F
EQUAL? PRSA,V?EXAMINE \?CCL3
PRINTI "It is a standard-issue one-pocket Stellar Patrol uniform, a miracle of modern technology. It will keep its owner warm in cold climates and cool in warm locales. It provides protection against mild radiation, repels all insects, absorbs sweat, promotes healthy skin tone, and on top of everything else, it is super-comfy."
EQUAL? TRIP-COUNTER,15 \?CND4
PRINTR " There are definitely worse things to find yourself wearing when stranded on a strange planet."
?CND4: CRLF
RTRUE
?CCL3: EQUAL? PRSA,V?WEAR \?CCL7
FSET? LAB-UNIFORM,WORNBIT \?CCL7
PRINTR "It won't fit over the lab uniform."
?CCL7: EQUAL? PRSA,V?TAKE-OFF \?CCL11
FSET? PATROL-UNIFORM,WORNBIT \?CCL11
FCLEAR PATROL-UNIFORM,WORNBIT
PRINTI "You have removed your Patrol uniform."
EQUAL? TRIP-COUNTER,15 \?CND14
PRINTI " You suddenly realize how warm it is. You also feel naked and vulnerable."
?CND14: IN? BLATHER,HERE \?CCL18
PRINTR " ""Removing your uniform while on duty? Five hundred demerits!"""
?CCL18: IN? FLOYD,HERE \?CND16
PRINTR " Floyd giggles. ""You look funny without any clothes on."""
?CND16: CRLF
RTRUE
?CCL11: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
PRINTI "There's no way to open or close the pocket of the "
PRINTD PRSO
PRINTR "."
.FUNCT GANGWAY-F,RARG
EQUAL? RARG,M-END \FALSE
RANDOM 100
LESS? 15,STACK /FALSE
ZERO? BLOWUP-COUNTER \FALSE
PRINTR "You hear a distant bellowing ... something about an Ensign Seventh Class whose life is in danger."
.FUNCT I-BLATHER
EQUAL? HERE,DECK-EIGHT,REACTOR-LOBBY \?CCL3
IN? BLATHER,HERE \?CCL6
IGRTR? 'BRIGS-UP,3 \?CCL9
CRLF
PRINTI "Blather loses his last vestige of patience and drags you to the Feinstein's brig. He throws you in, and the door clangs shut behind you."
CRLF
CRLF
CALL GOTO,BRIG
CALL ROB,ADVENTURER,CRAG
MOVE PADLOCK,HERE
FCLEAR PADLOCK,TAKEBIT
RTRUE
?CCL9: CRLF
PRINTR """I said to return to your post, Ensign Seventh Class!"" bellows Blather, turning a deepening shade of crimson."
?CCL6: ZERO? BLOWUP-COUNTER \FALSE
MOVE BLATHER,HERE
CALL THIS-IS-IT,BLATHER
CRLF
PRINTR "Ensign Blather, his uniform immaculate, enters and notices you are away from your post. ""Twenty demerits, Ensign Seventh Class!"" bellows Blather. ""Forty if you're not back on Deck Nine in five seconds!"" He curls his face into a hideous mask of disgust at your unbelievable negligence."
?CCL3: EQUAL? HERE,DECK-NINE \FALSE
EQUAL? BLATHER-LEAVE,3 \?CCL16
IN? BLATHER,HERE \?CCL16
SET 'BLATHER-LEAVE,0
REMOVE BLATHER
CRLF
PRINTR "Blather, adding fifty more demerits for good measure, moves off in search of more young ensigns to terrorize."
?CCL16: IN? BLATHER,DECK-NINE \?CCL20
INC 'BLATHER-LEAVE
RFALSE
?CCL20: IN? AMBASSADOR,HERE /FALSE
ZERO? BLOWUP-COUNTER \FALSE
RANDOM 100
LESS? 5,STACK /FALSE
MOVE BLATHER,HERE
CALL THIS-IS-IT,BLATHER
CRLF
PRINTI "Ensign First Class Blather swaggers in. He studies your work with half-closed eyes. ""You call this polishing, Ensign Seventh Class?"" he sneers. ""We have a position for an Ensign Ninth Class in the toilet-scrubbing division, you know. Thirty demerits."
FSET? PATROL-UNIFORM,WORNBIT /?CND26
PRINTI " And another sixty for improper dress!"
?CND26: PRINTR """ He glares at you, his arms crossed."
.FUNCT BLATHER-F
EQUAL? PRSA,V?HELLO,V?TALK /?CTR2
EQUAL? BLATHER,WINNER \?CCL3
?CTR2: PRINTI "Blather shouts ""Speak when you're spoken to, Ensign Seventh Class!"" He breaks three pencil points in a frenzied rush to give you more demerits."
CRLF
SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
RETURN 2
?CCL3: EQUAL? PRSA,V?KICK,V?ATTACK \?CCL9
CALL JIGS-UP,STR?16
RSTACK
?CCL9: EQUAL? PRSA,V?SALUTE \?CCL11
PRINTR "Blather's sneer softens a bit. ""First right thing you've done today. Only five demerits."""
?CCL11: EQUAL? PRSA,V?THROW \?CCL13
EQUAL? BLATHER,PRSI \?CCL13
MOVE PRSO,HERE
PRINTI "The "
PRINTD PRSO
PRINTR " bounces off Blather's bulbous nose. He becomes livid, orders you to do five hundred push-ups, gives you ten thousand demerits, and assigns you five years of extra galley duty."
?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL17
PRINTR "Ensign Blather is a tall, beefy officer with a tremendous, misshapen nose. His uniform is perfect in every respect, and the crease in his trousers could probably slice diamonds in half."
?CCL17: EQUAL? PRSA,V?TAKE \FALSE
PRINTR "Blather brushes you away, muttering about suspended shore leave."
.FUNCT CELERY-F
EQUAL? PRSA,V?EAT \?CCL3
CALL JIGS-UP,STR?18
RSTACK
?CCL3: EQUAL? PRSA,V?TAKE \FALSE
PRINTR "The ambassador seems perturbed by your lack of normal protocol."
.FUNCT I-AMBASSADOR
GRTR? AMBASSADOR-LEAVE,2 \?CCL3
IN? AMBASSADOR,HERE \?CCL3
REMOVE AMBASSADOR
REMOVE CELERY
EQUAL? HERE,DECK-NINE \?CND6
CRLF
PRINTI "The ambassador grunts a polite farewell, and disappears up the gangway, leaving a trail of dripping slime."
CRLF
?CND6: CALL INT,I-AMBASSADOR
PUT STACK,0,0
RTRUE
?CCL3: IN? AMBASSADOR,DECK-NINE \?CCL9
INC 'AMBASSADOR-LEAVE
EQUAL? HERE,DECK-NINE \FALSE
CRLF
PRINTI "The ambassador "
CALL PICK-ONE,AMBASSADOR-QUOTES
PRINT STACK
CRLF
RTRUE
?CCL9: EQUAL? HERE,DECK-NINE \FALSE
IN? AMBASSADOR,HERE /FALSE
IN? BLATHER,HERE /FALSE
ZERO? BLOWUP-COUNTER \FALSE
RANDOM 100
LESS? 15,STACK /FALSE
MOVE AMBASSADOR,HERE
MOVE CELERY,HERE
CALL THIS-IS-IT,AMBASSADOR
MOVE BROCHURE,ADVENTURER
CRLF
PRINTR "The alien ambassador from the planet Blow'k-bibben-Gordo ambles toward you from down the corridor. He is munching on something resembling an enormous stalk of celery, and he leaves a trail of green slime on the deck. He stops nearby, and you wince as a pool of slime begins forming beneath him on your newly-polished deck. The ambassador wheezes loudly and hands you a brochure outlining his planet's major exports."
.FUNCT AMBASSADOR-F
EQUAL? PRSA,V?HELLO,V?TALK /?CTR2
EQUAL? AMBASSADOR,WINNER \?CCL3
?CTR2: PRINTI "The ambassador taps his translator, and then touches his center knee to his left ear (the Blow'k-bibben-Gordoan equivalent of shrugging)."
CRLF
SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
RETURN 2
?CCL3: EQUAL? PRSA,V?ASK-FOR \?CCL9
EQUAL? PRSI,CELERY \?CCL9
PRINTR "The ambassador seems willing to let you eat some of it, but I doubt he wants to part with the entire stalk."
?CCL9: EQUAL? PRSA,V?KICK,V?ATTACK \?CCL13
PRINTR "The ambassador is startled, and emits an amazing quantity of slime which spreads across the section of the deck you just polished."
?CCL13: EQUAL? PRSA,V?EXAMINE \?CCL15
PRINTR "The ambassador has around twenty eyes, seven of which are currently open. Half of his six legs are retracted. Green slime oozes from multiple orifices in his scaly skin. He speaks through a mechanical translator slung around his neck."
?CCL15: EQUAL? PRSA,V?LISTEN \FALSE
PRINTR "The alien makes a wheezing noise as he breathes."
.FUNCT GLOBAL-POD-F
EQUAL? PRSA,V?WALK-TO,V?BOARD,V?THROUGH \?CCL3
EQUAL? HERE,ESCAPE-POD \?CCL6
PRINTR "You're already in it!"
?CCL6: CALL DO-WALK,P?WEST
RTRUE
?CCL3: EQUAL? PRSA,V?DROP,V?DISEMBARK,V?EXIT \?CCL8
EQUAL? HERE,DECK-NINE \?CCL11
PRINTR "You're not in it!"
?CCL11: CALL DO-WALK,P?OUT
RTRUE
?CCL8: EQUAL? PRSA,V?OPEN \FALSE
CALL PERFORM,V?OPEN,POD-DOOR
RTRUE
.FUNCT POD-EXIT-F
GRTR? BLOWUP-COUNTER,4 \?CCL3
EQUAL? PRSO,P?EAST \?CCL6
PRINT CANT-GO
CRLF
RFALSE
?CCL6: FSET? POD-DOOR,OPENBIT /?CCL8
PRINTI "The pod door is closed."
CRLF
RFALSE
?CCL8: SET 'C-ELAPSED,30
RETURN UNDERWATER
?CCL3: EQUAL? PRSO,P?UP \?CCL11
PRINT CANT-GO
CRLF
RFALSE
?CCL11: FSET? POD-DOOR,OPENBIT /?CCL13
PRINTI "The pod door is closed."
CRLF
RFALSE
?CCL13: RETURN DECK-NINE
.FUNCT SAFETY-WEB-F,RARG=M-OBJECT
EQUAL? PRSA,V?EXAMINE \?CCL3
ZERO? RARG \?CCL3
PRINTR "The safety webbing fills most of the pod. It could accomodate from one to, perhaps, twenty people."
?CCL3: EQUAL? PRSA,V?TAKE \?CCL7
ZERO? RARG \?CCL7
PRINTR "The safety web seems to be more intended for getting into than grabbing onto."
?CCL7: EQUAL? PRSA,V?CLIMB-ON,V?BOARD \?CCL11
ZERO? RARG \?CCL11
MOVE ADVENTURER,SAFETY-WEB
PRINTR "You are now safely cushioned within the web."
?CCL11: EQUAL? PRSA,V?TAKE,V?OPEN \?CCL15
EQUAL? RARG,M-BEG \?CCL15
EQUAL? PRSO,SAFETY-WEB \?CCL20
PRINTR "You're in it!"
?CCL20: PRINTR "You can't reach it from here."
?CCL15: EQUAL? PRSA,V?WALK \?CCL22
EQUAL? RARG,M-BEG \?CCL22
PRINTR "You'll have to stand up, first."
?CCL22: EQUAL? PRSA,V?STAND /?PRD28
EQUAL? PRSA,V?DROP,V?DISEMBARK,V?EXIT \FALSE
?PRD28: ZERO? RARG \FALSE
IN? ADVENTURER,SAFETY-WEB \FALSE
MOVE ADVENTURER,HERE
GRTR? TRIP-COUNTER,14 \?CCL34
CALL INT,I-SINK-POD
GET STACK,C-ENABLED?
ZERO? STACK \?CCL34
CALL QUEUE,I-SINK-POD,-1
PUT STACK,0,1
PRINTR "As you stand, the pod shifts slightly and you feel it falling. A moment later, the fall stops with a shock, and you see water rising past the viewport."
?CCL34: PRINTR "You are standing again."
.FUNCT TOWEL-F
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "A pretty ordinary towel. Something is written in its corner."
.FUNCT FOOD-KIT-F
EQUAL? PRSA,V?EMPTY \FALSE
FSET? FOOD-KIT,OPENBIT /?CCL6
PRINTR "The kit is closed!"
?CCL6: FIRST? PRSO \FALSE
PRINTR "The goo, being gooey, sticks to the inside of the kit. You would probably have to shake the kit to get the goo out."
.FUNCT GOO-F
EQUAL? PRSA,V?EAT \?CCL3
ZERO? HUNGER-LEVEL \?CCL6
PRINT NOT-HUNGRY
CRLF
RTRUE
?CCL6: IN? FOOD-KIT,ADVENTURER /?CCL8
SET 'PRSO,FOOD-KIT
CALL NOT-HOLDING
CALL THIS-IS-IT,FOOD-KIT
RSTACK
?CCL8: REMOVE PRSO
SET 'C-ELAPSED,15
SET 'HUNGER-LEVEL,0
CALL QUEUE,I-HUNGER-WARNINGS,1450
PUT STACK,0,1
PRINTI "Mmmm...that tasted just like "
EQUAL? PRSO,BROWN-GOO \?CCL11
PRINTI "delicious Nebulan fungus pudding"
JUMP ?CND9
?CCL11: EQUAL? PRSO,RED-GOO \?CCL13
PRINTI "scrumptious cherry pie"
JUMP ?CND9
?CCL13: PRINTI "yummy lima beans"
?CND9: PRINTR "."
?CCL3: EQUAL? PRSA,V?DROP,V?TAKE \FALSE
EQUAL? PRSA,V?DROP \?CCL18
PRINTI "The goo, being gooey, sticks where it is"
JUMP ?CND16
?CCL18: EQUAL? PRSA,V?TAKE \?CND16
PRINTI "It would ooze through your fingers"
?CND16: PRINTR ". You'll have to eat it right from the survival kit."
.FUNCT ESCAPE-POD-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is one of the Feinstein's primary escape pods, for use in extreme emergencies. A mass of safety webbing, large enough to hold several dozen people, fills half the pod. The controls are entirely automated. The bulkhead leading out is "
CALL DDESC,POD-DOOR
PRINTR "."
.FUNCT POD-DOOR-F
EQUAL? PRSA,V?OPEN \?CCL3
FSET? POD-DOOR,OPENBIT \?CCL6
CALL ALREADY-OPEN
RSTACK
?CCL6: GRTR? TRIP-COUNTER,14 \?CCL8
FSET POD-DOOR,OPENBIT
PRINTR "The bulkhead opens and cold ocean water rushes in!"
?CCL8: GRTR? BLOWUP-COUNTER,0 \?CCL10
EQUAL? HERE,DECK-NINE \?CCL13
PRINTR "Too late. The pod's launching procedure has already begun."
?CCL13: PRINTR "Opening the door now would be a phenomenally stupid idea."
?CCL10: PRINTR "Why open the door to the emergency escape pod if there's no emergency?"
?CCL3: EQUAL? PRSA,V?CLOSE \?CCL15
FSET? POD-DOOR,OPENBIT /?CCL18
CALL IS-CLOSED
RSTACK
?CCL18: PRINTR "You can't close it yourself."
?CCL15: EQUAL? PRSA,V?THROUGH \FALSE
EQUAL? HERE,DECK-NINE \?CCL23
CALL DO-WALK,P?WEST
RSTACK
?CCL23: CALL DO-WALK,P?OUT
RSTACK
.FUNCT GANGWAY-DOOR-F
EQUAL? PRSA,V?OPEN \?CCL3
FSET? PRSO,OPENBIT \?CCL6
CALL ALREADY-OPEN
RSTACK
?CCL6: PRINTR "There doesn't seem to be any way to open it."
?CCL3: EQUAL? PRSA,V?CLOSE \FALSE
FSET? PRSO,OPENBIT \?CCL11
PRINTR "You can't close it yourself."
?CCL11: CALL IS-CLOSED
RSTACK
.FUNCT I-BLOWUP-FEINSTEIN
CALL QUEUE,I-BLOWUP-FEINSTEIN,-1
PUT STACK,0,1
INC 'BLOWUP-COUNTER
EQUAL? BLOWUP-COUNTER,5 \?CCL3
EQUAL? HERE,DECK-NINE \?CCL6
CALL JIGS-UP,STR?29
RSTACK
?CCL6: CRLF
PRINTI "Through the viewport of the pod you see the Feinstein dwindle as you head away. Bursts of light dot its hull. Suddenly, a huge explosion blows the Feinstein into tiny pieces, sending the escape pod tumbling away! "
CRLF
CALL QUEUE,I-POD-TRIP,-1
PUT STACK,0,1
CALL INT,I-BLOWUP-FEINSTEIN
PUT STACK,0,0
IN? ADVENTURER,SAFETY-WEB /?CCL9
RANDOM 100
LESS? 20,STACK /?CCL9
CALL JIGS-UP,STR?30
RSTACK
?CCL9: IN? ADVENTURER,SAFETY-WEB /FALSE
CRLF
PRINTR "You are thrown against the bulkhead, bruising a few limbs. The safety webbing might have offered a bit more protection."
?CCL3: EQUAL? BLOWUP-COUNTER,4 \?CCL15
CALL INT,I-BLATHER
PUT STACK,0,0
CALL INT,I-AMBASSADOR
PUT STACK,0,0
EQUAL? HERE,DECK-NINE \?CCL18
CRLF
PRINTR "Explosions continue to rock the ship."
?CCL18: CRLF
PRINTR "You feel the pod begin to slide down its ejection tube as explosions shake the mother ship."
?CCL15: EQUAL? BLOWUP-COUNTER,3 \?CCL20
FCLEAR POD-DOOR,OPENBIT
EQUAL? HERE,DECK-NINE \?CCL23
CRLF
PRINTR "More powerful explosions buffet the ship. The lights flicker madly, and the escape-pod bulkhead clangs shut."
?CCL23: EQUAL? HERE,ESCAPE-POD \?CCL25
CRLF
PRINTR "The pod door clangs shut as heavy explosions continue to buffet the Feinstein."
?CCL25: CALL JIGS-UP,STR?31
RSTACK
?CCL20: EQUAL? BLOWUP-COUNTER,2 \?CCL27
FCLEAR CORRIDOR-DOOR,OPENBIT
FCLEAR CORRIDOR-DOOR,INVISIBLE
FCLEAR GANGWAY-DOOR,OPENBIT
FCLEAR GANGWAY-DOOR,INVISIBLE
EQUAL? HERE,DECK-NINE \?CCL30
CRLF
PRINTR "More distant explosions! A narrow emergency bulkhead at the base of the gangway and a wider one along the corridor to starboard both crash shut!"
?CCL30: EQUAL? HERE,ESCAPE-POD,BRIG \?CCL32
CRLF
PRINTR "The ship shakes again. You hear, from close by, the sounds of emergency bulkheads closing."
?CCL32: EQUAL? HERE,GANGWAY \?CCL34
CRLF
PRINTR "Another explosion. A narrow bulkhead at the base of the gangway slams shut!"
?CCL34: CRLF
PRINTI "You are deafened by more explosions and by the sound of emergency bulkheads slamming closed. "
IN? BLATHER,HERE \?CCL37
PRINTI "Blather, foaming slightly at the mouth, screams at you to swab the decks"
JUMP ?CND35
?CCL37: MOVE BLATHER,HERE
PRINTI "Blather enters, looking confused, and begins ranting madly at you"
?CND35: PRINTR "."
?CCL27: EQUAL? BLOWUP-COUNTER,1 \FALSE
SET 'BRIGS-UP,0
FSET POD-DOOR,OPENBIT
CRLF
PRINTI "A massive explosion rocks the ship. Echoes from the explosion resound deafeningly down the halls. "
EQUAL? HERE,DECK-NINE \?CCL42
PRINTI "The door to port slides open. "
IN? AMBASSADOR,HERE \?CCL45
REMOVE AMBASSADOR
REMOVE CELERY
PRINTR "The ambassador squawks frantically, evacuates a massive load of gooey slime, and rushes away."
?CCL45: IN? BLATHER,HERE \?CCL47
REMOVE BLATHER
PRINTR "Blather, confused by this non-routine occurrence, orders you to continue scrubbing the floor, and then dashes off."
?CCL47: CRLF
RTRUE
?CCL42: EQUAL? HERE,ESCAPE-POD,GANGWAY,BRIG \?CCL49
CRLF
RTRUE
?CCL49: PRINTR "Blather, looking slightly disoriented, barks at you to resume your assigned duties."
.FUNCT I-POD-TRIP
INC 'TRIP-COUNTER
EQUAL? TRIP-COUNTER,1 \?CCL3
CRLF
PRINTR "As the escape pod tumbles away from the former location of the Feinstein, its gyroscopes whine. The pod slowly stops tumbling. Lights on the control panel blink furiously as the autopilot searches for a reasonable destination."
?CCL3: EQUAL? TRIP-COUNTER,2 \?CCL5
CRLF
PRINTR "The auxiliary rockets fire briefly, and a nearby planet swings into view through the port. It appears to be almost entirely ocean, with just a few visible islands and an unusually small polar ice cap. A moment later, the system's sun swings into view, and the viewport polarizes into a featureless black rectangle."
?CCL5: EQUAL? TRIP-COUNTER,3 \?CCL7
CRLF
PRINTR "The main thrusters fire a long, gentle burst. A monotonic voice issues from the control panel. ""Approaching planet...human-habitable."""
?CCL7: EQUAL? TRIP-COUNTER,7 \?CCL9
CRLF
PRINTR "The pod is buffeted as it enters the planet's atmosphere."
?CCL9: EQUAL? TRIP-COUNTER,8 \?CCL11
CRLF
PRINTR "You feel the temperature begin to rise, and the pod's climate control system roars as it labors to compensate."
?CCL11: EQUAL? TRIP-COUNTER,9 \?CCL13
CRLF
PRINTR "The viewport suddenly becomes transparent again, giving you a view of endless ocean below. The lights on the control panel flash madly as the pod's computer searches for a suitable landing site. The thrusters fire long and hard, slowing the pod's descent."
?CCL13: EQUAL? TRIP-COUNTER,10 \?CCL15
CRLF
PRINTR "The pod is now approaching the closer of a pair of islands. It appears to be surrounded by sheer cliffs rising from the water, and is topped by a wide plateau. The plateau seems to be covered by a sprawling complex of buildings."
?CCL15: EQUAL? TRIP-COUNTER,11 \FALSE
IN? ADVENTURER,SAFETY-WEB \?CCL20
MOVE FOOD-KIT,HERE
MOVE TOWEL,HERE
CRLF
PRINTI "The pod lands with a thud. Through the viewport you can see a rocky cleft and some water below. The pod rocks gently back and forth as if it was precariously balanced. A previously unseen panel slides open, revealing some emergency provisions, including a survival kit and a towel."
CRLF
SET 'TRIP-COUNTER,15
CALL INT,I-POD-TRIP
PUT STACK,0,0
RTRUE
?CCL20: CALL JIGS-UP,STR?32
RSTACK
.FUNCT I-SINK-POD
INC 'SINK-COUNTER
EQUAL? SINK-COUNTER,3 \?CCL3
EQUAL? HERE,ESCAPE-POD \?CCL3
CRLF
PRINTR "The pod is now completely submerged, and you feel it smash against underwater rocks. Bubbles streaming upward past the window indicate that the pod is continuing to sink."
?CCL3: EQUAL? SINK-COUNTER,4 \?CCL7
EQUAL? HERE,ESCAPE-POD \?CCL7
FSET? POD-DOOR,OPENBIT /?CCL7
CRLF
PRINTR "The pod creaks ominously from the increasing pressure."
?CCL7: EQUAL? SINK-COUNTER,5 \FALSE
EQUAL? HERE,ESCAPE-POD \FALSE
FSET? POD-DOOR,OPENBIT \?CCL17
CALL JIGS-UP,STR?33
RSTACK
?CCL17: CALL JIGS-UP,STR?34
RSTACK
.FUNCT SLOT-F
EQUAL? PRSA,V?PUT \?CCL3
EQUAL? SLOT,PRSI \?CCL3
PRINTR "The slot is shallow, so you can't put anything in it. It may be possible to slide something through the slot, though."
?CCL3: EQUAL? PRSA,V?EXAMINE \?CCL7
PRINTR "The slot is about ten centimeters wide, but only about two centimeters deep. It is surrounded on its long sides by parallel ridges of metal."
?CCL7: EQUAL? PRSA,V?SLIDE \FALSE
EQUAL? SLOT,PRSI \FALSE
MOVE PRSO,ADVENTURER
FSET? PRSO,SCRAMBLEDBIT \?CCL14
PRINTR "A sign flashes ""Magnetik striip randumiizd...konsult Prajekt Handbuk abowt propur kaar uv awtharazaashun kardz."""
?CCL14: EQUAL? PRSO,KITCHEN-CARD \?CCL16
EQUAL? HERE,MESS-HALL \?CCL19
FSET? KITCHEN-DOOR,OPENBIT \?CCL22
PRINTR "Nothing happens."
?CCL22: FSET KITCHEN-DOOR,OPENBIT
CALL QUEUE,I-KITCHEN-DOOR-CLOSES,50
PUT STACK,0,1
PRINTI "The kitchen door quietly slides open."
CRLF
CALL FLOYD-REVEAL-CARD-F
RTRUE
?CCL19: PRINT WRONG-CARD
CRLF
RTRUE
?CCL16: EQUAL? PRSO,UPPER-ELEVATOR-CARD \?CCL24
EQUAL? HERE,UPPER-ELEVATOR \?CCL27
SET 'UPPER-ELEVATOR-ON,TRUE-VALUE
CALL QUEUE,I-TURNOFF-UPPER-ELEVATOR,180
PUT STACK,0,1
PRINT ELEVATOR-ENABLED
CRLF
CALL FLOYD-REVEAL-CARD-F
RTRUE
?CCL27: PRINT WRONG-CARD
CRLF
RTRUE
?CCL24: EQUAL? PRSO,LOWER-ELEVATOR-CARD \?CCL29
EQUAL? HERE,LOWER-ELEVATOR \?CCL32
SET 'LOWER-ELEVATOR-ON,TRUE-VALUE
CALL QUEUE,I-TURNOFF-LOWER-ELEVATOR,200
PUT STACK,0,1
PRINT ELEVATOR-ENABLED
CRLF
RTRUE
?CCL32: PRINT WRONG-CARD
CRLF
RTRUE
?CCL29: EQUAL? PRSO,TELEPORTATION-CARD \?CCL34
EQUAL? HERE,BOOTH-1,BOOTH-2,BOOTH-3 \?CCL37
SET 'TELEPORTATION-ON,TRUE-VALUE
CALL QUEUE,I-TURNOFF-TELEPORTATION,30
PUT STACK,0,1
PRINTR "Nothing happens for a moment. Then a light flashes ""Redee."""
?CCL37: PRINT WRONG-CARD
CRLF
RTRUE
?CCL34: EQUAL? PRSO,SHUTTLE-CARD \?CCL39
CALL SHUTTLE-ACTIVATE
RSTACK
?CCL39: EQUAL? PRSO,MINI-CARD \?CCL41
EQUAL? HERE,MINI-BOOTH \?CCL44
SET 'MINI-ACTIVATED,TRUE-VALUE
CALL QUEUE,I-TURNOFF-MINI,30
PUT STACK,0,1
PRINTR "A melodic high-pitched voice says ""Miniaturization and teleportation booth activated. Please type in damaged sector number."""
?CCL44: PRINT WRONG-CARD
CRLF
RTRUE
?CCL41: EQUAL? PRSO,ID-CARD \FALSE
PRINT WRONG-CARD
CRLF
RTRUE
.FUNCT FLOYD-REVEAL-CARD-F
IN? FLOYD,HERE \FALSE
ZERO? CARD-REVEALED \FALSE
EQUAL? DAY,2 \?PRD8
LESS? INTERNAL-MOVES,5000 \?PRD8
RANDOM 100
LESS? 5,STACK \?CCL3
?PRD8: EQUAL? DAY,2 \?PRD12
GRTR? INTERNAL-MOVES,4999 \?PRD12
RANDOM 100
LESS? 10,STACK \?CCL3
?PRD12: EQUAL? DAY,3 \?PRD16
LESS? INTERNAL-MOVES,5000 \?PRD16
RANDOM 100
LESS? 20,STACK \?CCL3
?PRD16: EQUAL? DAY,3 \?PRD20
GRTR? INTERNAL-MOVES,4999 \?PRD20
RANDOM 100
LESS? 40,STACK \?CCL3
?PRD20: GRTR? DAY,3 \FALSE
?CCL3: SET 'CARD-REVEALED,TRUE-VALUE
SET 'FLOYD-SPOKE,TRUE-VALUE
ZERO? CARD-STOLEN \?CCL26
MOVE LOWER-ELEVATOR-CARD,FLOYD
PRINTR "Floyd claps his hands with excitement. ""Those cards are really neat, huh? Floyd has one for himself--see?"" He reaches behind one of his panels and retrieves a magnetic-striped card. He waves it exuberantly in the air."
?CCL26: PRINTR "Floyd bobs up and down with excitement. ""Those cards are really neat! Floyd has one, too."" He begins searching through his compartments, but finds nothing. He scratches his head and looks confused."
.FUNCT I-KITCHEN-DOOR-CLOSES
EQUAL? HERE,KITCHEN \?CCL3
CALL QUEUE,I-KITCHEN-DOOR-CLOSES,-1
PUT STACK,0,1
RFALSE
?CCL3: FCLEAR KITCHEN-DOOR,OPENBIT
CALL INT,I-KITCHEN-DOOR-CLOSES
PUT STACK,0,0
EQUAL? HERE,MESS-HALL \FALSE
CRLF
PRINTR "The kitchen door slides quietly closed."
.FUNCT TELEPORT,BOOTH
EQUAL? PRSA,V?PUSH \FALSE
EQUAL? TELEPORTATION-ON,TRUE-VALUE \?CCL6
PRINTI "You experience a strange feeling in the pit of your stomach."
CRLF
IN? FLOYD,HERE \?CND7
PRINTI "Floyd gives a terrified squeal, and clutches at his guidance mechanism."
CRLF
SET 'FLOYD-SPOKE,TRUE-VALUE
CALL QUEUE,I-FLOYD,1
PUT STACK,0,1
?CND7: CALL ROB,HERE,BOOTH
CALL GOTO,BOOTH,FALSE-VALUE
CALL INT,I-TURNOFF-TELEPORTATION
PUT STACK,0,0
SET 'TELEPORTATION-ON,FALSE-VALUE
RTRUE
?CCL6: PRINTR "A sign flashes ""Teleportaashun buux not aktivaatid."""
.FUNCT TELEPORTATION-BUTTON-1-F
CALL TELEPORT,BOOTH-1
RSTACK
.FUNCT TELEPORTATION-BUTTON-2-F
CALL TELEPORT,BOOTH-2
RSTACK
.FUNCT TELEPORTATION-BUTTON-3-F
CALL TELEPORT,BOOTH-3
RSTACK
.FUNCT I-TURNOFF-TELEPORTATION
SET 'TELEPORTATION-ON,FALSE-VALUE
EQUAL? HERE,BOOTH-1,BOOTH-2,BOOTH-3 \FALSE
CRLF
PRINTR "The ready light goes dark."
.FUNCT GLOBAL-SHUTTLE-F
EQUAL? PRSA,V?BOARD /?CTR2
EQUAL? PRSA,V?WALK-TO,V?THROUGH,V?ENTER \?CCL3
?CTR2: EQUAL? HERE,SHUTTLE-CAR-ALFIE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST /?CTR7
EQUAL? HERE,SHUTTLE-CAR-BETTY,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST \?CCL8
?CTR7: PRINTR "You ARE in the shuttle car."
?CCL8: PRINTR "Use 'north' or 'south'."
?CCL3: EQUAL? PRSA,V?DROP,V?DISEMBARK,V?EXIT \FALSE
EQUAL? HERE,SHUTTLE-CAR-ALFIE \?CCL15
CALL DO-WALK,P?NORTH
RSTACK
?CCL15: EQUAL? HERE,SHUTTLE-CAR-BETTY \?CCL17
CALL DO-WALK,P?SOUTH
RSTACK
?CCL17: EQUAL? HERE,BETTY-CONTROL-EAST,BETTY-CONTROL-WEST /?CTR18
EQUAL? HERE,ALFIE-CONTROL-EAST,ALFIE-CONTROL-WEST \?CCL19
?CTR18: PRINTR "You can't exit the shuttle car from here."
?CCL19: PRINTR "You're not in the shuttle car!"
.FUNCT SHUTTLE-CAR-F,RARG
EQUAL? RARG,M-LOOK \FALSE