-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathphobos.zap
1239 lines (1147 loc) · 35.2 KB
/
phobos.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 CELL-OBJECT-F
EQUAL? PRSA,V?WALK-TO,V?BOARD,V?ENTER \?ELS5
CALL ADJ-USED,A?OTHER
ZERO? STACK \?THN11
CALL ADJ-USED,A?SMALL
ZERO? STACK /?ELS10
?THN11: EQUAL? HERE,OTHER-CELL \?ELS17
PRINT LOOK-AROUND
RTRUE
?ELS17: EQUAL? HERE,END-OF-HALLWAY \?ELS19
CALL DO-WALK,P?SOUTH
RSTACK
?ELS19: PRINT CANT-FROM-HERE
RTRUE
?ELS10: EQUAL? HERE,CELL \?ELS23
PRINT LOOK-AROUND
RTRUE
?ELS23: EQUAL? HERE,END-OF-HALLWAY \?ELS25
CALL DO-WALK,P?NORTH
RSTACK
?ELS25: PRINT CANT-FROM-HERE
RTRUE
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE,V?EXIT \?ELS29
CALL ADJ-USED,A?OTHER
ZERO? STACK \?THN35
CALL ADJ-USED,A?SMALL
ZERO? STACK /?ELS34
?THN35: EQUAL? HERE,OTHER-CELL \?ELS41
CALL DO-WALK,P?NORTH
RSTACK
?ELS41: PRINT LOOK-AROUND
RTRUE
?ELS34: EQUAL? HERE,CELL \?ELS45
CALL DO-WALK,P?SOUTH
RSTACK
?ELS45: EQUAL? HERE,OTHER-CELL \?ELS47
CALL DO-WALK,P?NORTH
RSTACK
?ELS47: PRINT LOOK-AROUND
RTRUE
?ELS29: EQUAL? PRSA,V?EXAMINE \?ELS51
EQUAL? HERE,END-OF-HALLWAY /?ELS51
CALL V-LOOK
RSTACK
?ELS51: EQUAL? PRSA,V?CLOSE,V?OPEN,V?LOOK-INSIDE \?ELS55
EQUAL? HERE,END-OF-HALLWAY \?ELS58
CALL ADJ-USED,A?OTHER
ZERO? STACK \?THN62
CALL ADJ-USED,A?SMALL
ZERO? STACK /?ELS61
?THN62: CALL PERFORM-PRSA,NARROW-CELL-DOOR
RTRUE
?ELS61: CALL PERFORM-PRSA,WIDE-CELL-DOOR
RTRUE
?ELS58: EQUAL? PRSA,V?LOOK-INSIDE \?ELS67
CALL V-LOOK
RTRUE
?ELS67: EQUAL? HERE,CELL \?ELS69
CALL PERFORM-PRSA,WIDE-CELL-DOOR
RTRUE
?ELS69: CALL PERFORM-PRSA,NARROW-CELL-DOOR
RTRUE
?ELS55: EQUAL? PRSA,V?PUT \?ELS73
EQUAL? PRSI,CELL-OBJECT \?ELS73
EQUAL? HERE,END-OF-HALLWAY \?ELS80
PRINT CANT-FROM-HERE
RTRUE
?ELS80: CALL PERFORM,V?DROP,PRSO
RTRUE
?ELS73: EQUAL? HERE,END-OF-HALLWAY /FALSE
EQUAL? PRSO,CELL-OBJECT \FALSE
CALL PERFORM-PRSA,GLOBAL-ROOM,PRSI
RTRUE
.FUNCT CELL-F,RARG
EQUAL? RARG,M-LOOK \?ELS5
PRINTI "You are in a large cell with a soft, cushiony floor. A wide door ("
FSET? WIDE-CELL-DOOR,OPENBIT \?ELS8
PRINTI "now open"
JUMP ?CND6
?ELS8: FSET? WIDE-CELL-DOOR,TOUCHBIT \?ELS10
PRINTI "now closed"
JUMP ?CND6
?ELS10: PRINTI "closed, naturally"
?CND6: PRINTI ") forms the southern wall of the cell"
ZERO? HOLE-OPEN /?CND13
PRINTI ". A "
CALL DPRINT,HOLE
PRINTI " is lying on the ground amidst some rubble"
?CND13: PRINTI "."
RTRUE
?ELS5: EQUAL? RARG,M-END \?ELS18
ZERO? TRAY-DELIVERED \?ELS18
SET 'TRAY-DELIVERED,TRUE-VALUE
MOVE TRAY,HERE
PRINTI " Someone thrusts a tray into your cell. A "
CALL DPRINT,CHOCOLATE
PRINTI " on the tray"
PRINT LOOKS-UNAPPETIZING
RTRUE
?ELS18: EQUAL? RARG,M-END \FALSE
IN? SIDEKICK,HERE \FALSE
ZERO? CELL-GRIPE \FALSE
SET 'CELL-GRIPE,TRUE-VALUE
PRINTI " ""What a great cell!"" says "
CALL DPRINT-SIDEKICK
PRINTI ", looking around. ""Why didn't I get a cell like this? Maybe I shouldn't have kicked that guard "
EQUAL? NAUGHTY-LEVEL,1 \?ELS27
PRINTI "below the waist "
JUMP ?CND25
?ELS27: EQUAL? NAUGHTY-LEVEL,2 \?CND25
PRINTI "in the nuts "
?CND25: PRINTR "when I first got here..."""
.FUNCT HOLE-ENTER-F
ZERO? HOLE-OPEN /?ELS3
PRINT YOU-CANT
PRINTI "reach the hole in the ceiling."
CRLF
RFALSE
?ELS3: PRINT CANT-GO
RFALSE
.FUNCT BLANKET-F
FSET? BLANKET,UNTEEDBIT /FALSE
EQUAL? PRSA,V?MEASURE \?ELS7
PRINTR "Small."
?ELS7: EQUAL? PRSA,V?WEAR /?THN10
EQUAL? PRSA,V?WRAP \?ELS9
EQUAL? PRSI,ME \?ELS9
?THN10: PRINTR "It's too small; your jailors must have meant it to be used as a pillow."
?ELS9: EQUAL? PRSA,V?BOARD \?ELS15
CALL WASTES
RSTACK
?ELS15: EQUAL? PRSA,V?TIE \?ELS17
PRINTR "The material of the blanket is too thick to knot."
?ELS17: EQUAL? PRSA,V?TAKE,V?REMOVE \?ELS19
IN? BLANKET,BABY \?ELS19
CALL PERFORM,V?REMOVE,BABY
RTRUE
?ELS19: EQUAL? PRSA,V?PUT \?ELS23
EQUAL? PRSI,BASKET \?ELS23
IN? BLANKET,BABY \?ELS30
CALL PERFORM-PRSA,BABY,BASKET
RTRUE
?ELS30: IN? BABY,BASKET \FALSE
MOVE BLANKET,BASKET
MOVE BABY,PROTAGONIST
CALL PERFORM-PRSA,BABY,BASKET
RTRUE
?ELS23: EQUAL? PRSA,V?THROW,V?PUT,V?DROP \?ELS34
EQUAL? PRSO,BLANKET \?ELS34
IN? BLANKET,BABY \?ELS34
CALL DO-FIRST,STR?398
RSTACK
?ELS34: EQUAL? PRSA,V?LOOK-INSIDE \?ELS38
IN? BLANKET,BABY \?ELS38
CALL PERFORM,V?ALARM,BABY
RTRUE
?ELS38: EQUAL? PRSA,V?PUT-ON \FALSE
EQUAL? PRSO,BLANKET \FALSE
FSET? PRSI,SURFACEBIT /FALSE
CALL WASTES
RSTACK
.FUNCT PAINTING-F
EQUAL? PRSA,V?EXAMINE \FALSE
FSET? PAINTING,UNTEEDBIT /FALSE
SET 'AWAITING-REPLY,2
CALL QUEUE,I-REPLY,2
PRINTR "It's a good likeness of a pussy, but is it art?"
.FUNCT TRAY-F
EQUAL? PRSA,V?EXAMINE \FALSE
FSET? TRAY,UNTEEDBIT \FALSE
PRINTR "It looks a little like Ray whatsisname from second grade."
.FUNCT CHOCOLATE-F
FSET? CHOCOLATE,UNTEEDBIT /FALSE
EQUAL? PRSA,V?EAT \?ELS7
CALL ULTIMATELY-IN?,CHOCOLATE
ZERO? STACK \?CND8
PRINT YNH
PRINTR " it!"
?CND8: REMOVE CHOCOLATE
CALL QUEUE,I-UNRUSH,6
ZERO? GONE-APE /?ELS13
SET 'SUGAR-RUSH,GORILLA-ATE-CHOCOLATE
JUMP ?CND11
?ELS13: SET 'SUGAR-RUSH,HUMAN-ATE-CHOCOLATE
?CND11: PRINTI "Mmmm! "
ZERO? CHOCOLATE-IDENTIFIED /?ELS19
PRINTI "G"
JUMP ?CND17
?ELS19: PRINTI "It's a piece of really g"
?CND17: PRINTR "ood chocolate! You feel yourself getting a sugar rush."
?ELS7: EQUAL? PRSA,V?EXAMINE \?ELS24
PRINTI "The "
CALL DPRINT,CHOCOLATE
PRINT LOOKS-UNAPPETIZING
RTRUE
?ELS24: EQUAL? PRSA,V?TASTE \?ELS26
SET 'CHOCOLATE-IDENTIFIED,TRUE-VALUE
PUTP CHOCOLATE,P?SDESC,STR?404
RFALSE
?ELS26: EQUAL? PRSA,V?SMELL \FALSE
FSET? CHOCOLATE,SMELLEDBIT /FALSE
SET 'CHOCOLATE-IDENTIFIED,TRUE-VALUE
FSET CHOCOLATE,SMELLEDBIT
PUTP CHOCOLATE,P?SDESC,STR?404
CALL SCRATCH-N-SNIFF,2
PRINTR "Luscious, creamy milk chocolate!"
.FUNCT I-UNRUSH
ZERO? GONE-APE /?ELS9
EQUAL? SUGAR-RUSH,GORILLA-ATE-CHOCOLATE /?THN6
?ELS9: ZERO? GONE-APE \?ELS5
EQUAL? SUGAR-RUSH,HUMAN-ATE-CHOCOLATE \?ELS5
?THN6: SET 'SUGAR-RUSH,FALSE-VALUE
PRINTR " You feel the sugar rush ebb."
?ELS5: SET 'SUGAR-RUSH,FALSE-VALUE
RFALSE
.FUNCT OTHER-CELL-F,RARG
EQUAL? RARG,M-ENTER \?ELS5
FSET? OTHER-CELL,TOUCHBIT /?ELS5
CALL THIS-IS-IT,SIDEKICK
CALL QUEUE,I-BLUEPRINT,19
ZERO? VERBOSITY /FALSE
PRINTI "As you enter, a "
ZERO? MALE \?CND11
PRINTI "wo"
?CND11: PRINTI "man sitting limply in the shadows stiffens and rises to "
CALL HIS-HER
PRINTI " feet. ""A human! They got you too? I've been here a week. When you opened the door, I figured it was a guard! Was it unlocked? I never thought of trying it. By the way, my name's "
CALL DPRINT-SIDEKICK
PRINTI ". From Alaska. I'm not too bright, but I'm strong as an ox, and I'm great with my hands. Maybe we can lick these Leather Goddesses together."""
CRLF
CRLF
RTRUE
?ELS5: EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are in a very tiny room with a rock-hard floor. A "
PRINTD NARROW-CELL-DOOR
PRINTI " to the north is "
CALL OPEN-CLOSED,NARROW-CELL-DOOR
PRINTI "."
RTRUE
.FUNCT NARROW-CELL-DOOR-F
EQUAL? PRSA,V?KNOCK \FALSE
IN? SIDEKICK,OTHER-CELL \FALSE
PRINTR "A muffled voice responds, ""Beat it, you alien fruitcake freako mutant weirdo scum!"""
.FUNCT SIDEKICK-F,OARG=0
ZERO? OARG /?ELS5
EQUAL? OARG,M-OBJDESC? /TRUE
PRINTI " "
CALL DPRINT-SIDEKICK
PRINTI " is here, "
CALL SIDEKICK-DESC
PRINTI "."
RTRUE
?ELS5: EQUAL? SIDEKICK,WINNER \?ELS11
EQUAL? PRSA,V?WHAT \?ELS16
CALL PERFORM,V?TELL-ABOUT,ME,PRSO
RTRUE
?ELS16: EQUAL? PRSA,V?READ \?ELS18
EQUAL? PRSO,SCRAP-OF-PAPER \?ELS18
CALL PERFORM,V?TELL-ABOUT,ME,SCRAP-OF-PAPER
RTRUE
?ELS18: EQUAL? PRSA,V?TELL-ABOUT \?ELS22
EQUAL? PRSO,ME \?ELS22
EQUAL? PRSI,ODD-MACHINE \?ELS29
IN? ODD-MACHINE,SALESMAN /?ELS29
PRINTR """Hmmm, tee remover. For cleaning up golf courses?"""
?ELS29: EQUAL? PRSI,SCRAP-OF-PAPER \?ELS33
PRINTR """I dunno what it means; I doodled it one night in my sleep!"""
?ELS33: EQUAL? PRSI,MATCHBOOK \?ELS35
CALL QUEUED?,I-BLUEPRINT
ZERO? STACK \?ELS35
CALL SCRAPE-UP-THESE-ITEMS
RSTACK
?ELS35: EQUAL? PRSI,LGOP \?ELS39
PRINTR """No doubt some gang of interplanetary floozies who get their jollies from enslaving defenseless planets. We'll stop 'em!"""
?ELS39: CALL DPRINT-SIDEKICK
PRINTI " shrugs. ""What do I know? I'm from Alaska,"" "
CALL HE-SHE
PRINTR " says, in a burst of insecurity that will no doubt ease in a quarter-century or so when Alaska becomes a state."
?ELS22: EQUAL? PRSA,V?WALK \?ELS43
PRINTR """After you!"""
?ELS43: EQUAL? PRSA,V?FOLLOW \?ELS45
EQUAL? PRSO,ME \?ELS45
PRINTR """Lead on!"""
?ELS45: EQUAL? PRSA,V?HELLO \?ELS49
PRINTR """Hi!"""
?ELS49: EQUAL? PRSA,V?EXIT,V?ENTER,V?DISEMBARK \?ELS51
EQUAL? PRSO,WINDOW \?ELS51
EQUAL? HERE,BEDROOM \?ELS51
ZERO? SIDEKICK-TRIP-FLAG /?ELS58
PRINTR """Not again!"""
?ELS58: CALL QUEUED?,I-SIDEKICK-OUT-WINDOW
ZERO? STACK /?ELS61
PRINTR """Gimme a second to get ready!"""
?ELS61: PRINTR """I'm dumb, but not that dumb!"""
?ELS51: EQUAL? PRSA,V?KISS \?ELS65
EQUAL? PRSO,FROG \?ELS65
PRINTR """I'd sooner kiss a pig!"""
?ELS65: EQUAL? PRSA,V?RAISE \?ELS69
EQUAL? PRSO,ME \?ELS69
LOC PROTAGONIST
EQUAL? STACK,TREE-HOLE,CLOSET \?ELS69
SET 'WINNER,PROTAGONIST
CALL PERFORM,V?CLIMB-ON,SIDEKICK
SET 'WINNER,SIDEKICK
RTRUE
?ELS69: EQUAL? PRSA,V?TAKE \?ELS73
EQUAL? PRSO,HEADLIGHT \?ELS73
FSET? HEADLIGHT,TRYTAKEBIT \?ELS73
SET 'WINNER,PROTAGONIST
CALL PERFORM,V?SHOW,HEADLIGHT,SIDEKICK
SET 'WINNER,SIDEKICK
RTRUE
?ELS73: EQUAL? PRSA,V?GIVE \?ELS77
EQUAL? PRSI,ME \?ELS77
SET 'WINNER,PROTAGONIST
CALL PERFORM,V?ASK-FOR,SIDEKICK,PRSO
SET 'WINNER,SIDEKICK
RTRUE
?ELS77: EQUAL? PRSA,V?SGIVE /FALSE
EQUAL? PRSA,V?MAKE \?ELS83
EQUAL? PRSO,ANTI-LGOP-MACHINE \?ELS83
PRINTR """Don't crowd me."""
?ELS83: CALL DPRINT-SIDEKICK
PRINTI " is "
CALL SIDEKICK-DESC
PRINTI " and fails to notice that you've spoken."
CRLF
CALL STOP
RSTACK
?ELS11: CALL WRONG-SEX-WORD,SIDEKICK,W?TRENT,W?TIFFAN
ZERO? STACK /?ELS89
CALL STOP
RSTACK
?ELS89: CALL WRONG-SEX-WORD,SIDEKICK,W?TRENT,W?TIFF
ZERO? STACK /?ELS91
CALL STOP
RSTACK
?ELS91: EQUAL? PRSA,V?EXAMINE \?ELS93
CALL DPRINT-SIDEKICK
PRINTI " is about your age"
ZERO? NAUGHTY-LEVEL /?CND94
PRINTI " and has a body worthy of envy: tall and well-built, with wide shoulders, "
ZERO? MALE /?ELS99
PRINTI "massive pectorals, and thick"
JUMP ?CND97
?ELS99: PRINTI "a generous bosom, slim waist, and long"
?CND97: PRINTI ", tawny legs. The only minus seems to be slightly oversized feet, but even oversized feet are a plus if you're into toe-sucking"
?CND94: PRINTI "."
FIRST? SIDEKICK \?ELS107
PRINTI " "
RFALSE
?ELS107: CRLF
RTRUE
?ELS93: EQUAL? PRSA,V?ASK-FOR \?ELS111
EQUAL? PRSO,SIDEKICK \?ELS111
CALL ULTIMATELY-IN?,PRSI,SIDEKICK
ZERO? STACK /?ELS118
MOVE PRSI,PROTAGONIST
PRINTR """What's mine is yours!"""
?ELS118: PRINTI """I haven't got"
CALL APRINT,PRSI
PRINTR "!"""
?ELS111: EQUAL? PRSA,V?FOLLOW \?ELS122
EQUAL? FOLLOW-FLAG,1 \?ELS127
CALL PERFORM,V?CLIMB-DOWN,SHEET
RTRUE
?ELS127: EQUAL? FOLLOW-FLAG,2 \?ELS129
PRINT DONT-WANT-TO
RTRUE
?ELS129: EQUAL? FOLLOW-FLAG,3 \FALSE
CALL PERFORM,V?ENTER,CANAL-OBJECT
RTRUE
?ELS122: EQUAL? PRSA,V?UNTIE \?ELS133
CALL PERFORM-PRSA,SIDEKICKS-BODY
RTRUE
?ELS133: EQUAL? PRSA,V?TIE \?ELS135
EQUAL? PRSI,SECOND-SLAB,FIRST-SLAB \?ELS135
CALL PERFORM-PRSA,SIDEKICKS-BODY
RTRUE
?ELS135: EQUAL? PRSA,V?STAND-ON,V?BOARD,V?CLIMB-ON \?ELS139
IN? PROTAGONIST,TREE-HOLE /?THN145
EQUAL? HERE,CLOSET \?ELS144
FIRST? SHELF \?ELS144
?THN145: PRINTI "Using "
CALL DPRINT-SIDEKICK
PRINTI "'s shoulders, you "
IN? PROTAGONIST,TREE-HOLE \?ELS151
MOVE PROTAGONIST,HERE
MOVE SIDEKICK,HERE
PRINTI "climb out of the hole and help "
CALL DPRINT-SIDEKICK
PRINTI " out"
JUMP ?CND149
?ELS151: CALL ROB,SHELF,PROTAGONIST
PRINTI "get everything from the shelf"
?CND149: PRINT PERIOD-CR
RTRUE
?ELS144: CALL WASTES
RSTACK
?ELS139: EQUAL? PRSA,V?PUSH \?ELS157
EQUAL? PRSI,TREE-HOLE \?ELS157
CALL DPRINT-SIDEKICK
PRINTI " grabs wildly at you, pulling both of you into the hole"
FSET? TRELLIS,MUNGBIT \?CND160
ZERO? LEAVES-PLACED /?CND163
MOVE LEAVES,TREE-HOLE
?CND163: REMOVE TRELLIS
CALL UNDO-TRAP
PRINTI " with a crash of splintering wood"
?CND160: PRINTI ". "
IN? FLYTRAP,TREE-HOLE \?ELS171
CALL PERFORM,V?ENTER,TREE-HOLE
RTRUE
?ELS171: MOVE PROTAGONIST,TREE-HOLE
MOVE SIDEKICK,TREE-HOLE
IN? TRELLIS,PROTAGONIST \?CND174
MOVE TRELLIS,HERE
?CND174: PRINTI """Brilliant move, bozo,"" says "
CALL DPRINT-SIDEKICK
PRINT PERIOD-CR
RTRUE
?ELS157: EQUAL? PRSA,V?GIVE \?ELS178
EQUAL? HERE,PLAZA \?ELS178
SUB PLAZA-COUNTER,1
GET PARTS-LIST,STACK
EQUAL? PRSO,STACK \?ELS183
FSET? PRSO,UNTEEDBIT /?ELS183
REMOVE PRSO
SET 'RIGHT-PART,TRUE-VALUE
CALL DPRINT-SIDEKICK
PRINTI " grabs"
CALL TPRINT-PRSO
PRINTI " and quickly incorporates it into "
CALL HIS-HER
PRINTI " contraption."
CRLF
RETURN 8
?ELS183: CALL DPRINT-SIDEKICK
PRINTI " gives"
CALL TPRINT-PRSO
PRINTI " the barest glance. ""No good! It has to be a"
CALL PRINT-PART
PRINTI "!"""
CRLF
RETURN 8
?ELS178: EQUAL? PRSA,V?GIVE \?ELS191
CALL ZMEMQ,PRSO,PARTS-LIST,7
ZERO? STACK /?ELS191
FSET? PRSO,UNTEEDBIT /?ELS191
CALL EAGERLY-ACCEPTS
PRINT PERIOD-CR
RTRUE
?ELS191: EQUAL? PRSA,V?SHOW \FALSE
EQUAL? PRSO,HEADLIGHT \?ELS200
FSET? HEADLIGHT,TRYTAKEBIT \?ELS200
PRINTR """Can't reach it from here!"""
?ELS200: EQUAL? PRSO,SCRAP-OF-PAPER \?ELS204
CALL PERFORM,V?ASK-ABOUT,SIDEKICK,SCRAP-OF-PAPER
RTRUE
?ELS204: CALL ZMEMQ,PRSO,PARTS-LIST,7
ZERO? STACK /FALSE
FSET? PRSO,UNTEEDBIT /FALSE
PRINTI """Hey, wow!"" says "
CALL DPRINT-SIDEKICK
PRINTI ", clearly impressed by your discovery of"
CALL TRPRINT,PRSO
RSTACK
.FUNCT SIDEKICK-DESC
GRTR? PLAZA-COUNTER,0 \?ELS5
PRINTI "busy with"
CALL TPRINT,ANTI-LGOP-MACHINE
RSTACK
?ELS5: EQUAL? HERE,BOUDOIR \?ELS7
PRINTI "lying on another couch"
RTRUE
?ELS7: RANDOM 100
LESS? 33,STACK /?ELS9
PRINTI "alertly surveying your surroundings"
RTRUE
?ELS9: RANDOM 100
LESS? 50,STACK /?ELS11
ZERO? SIDEKICKS-BODY-TIED-TO-SLAB \?ELS11
PRINTI "doing some quick limbering exercises"
RTRUE
?ELS11: PRINTI "counting on "
CALL HIS-HER
PRINTI " fingers and mumbling to "
CALL HIM-HER
PRINTI "self"
RTRUE
.FUNCT GENERIC-SIDEKICK-F
GET P-NAMW,0
EQUAL? STACK,W?BODY /FALSE
GET P-NAMW,1
EQUAL? STACK,W?BODY /FALSE
RETURN SIDEKICK
.FUNCT MEMORIAM
PRINTI ", "
PRINTD EYES
PRINTI " fill with tears. You hang "
PRINTD HEAD
PRINTI " in sorrow for a moment to honor your brave, loyal companion who gave "
CALL HIS-HER
PRINTI " life that humanity might be safe from the terrible scourge of "
PRINTD LGOP
PRINT PERIOD-CR
RTRUE
.FUNCT CRAMPED-SPACE-F,RARG
EQUAL? RARG,M-ENTER \?ELS5
ZERO? HOLE-OPEN \?ELS5
CALL QUEUE,I-CRAMPED-SPACE,2
RSTACK
?ELS5: EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are in a dark space, too tiny to move around in. The"
ZERO? HOLE-OPEN /?ELS14
PRINTI " only exit is a hole in the floor."
RTRUE
?ELS14: PRINTI "re are no visible exits."
RTRUE
.FUNCT I-CRAMPED-SPACE
PRINTI " Suddenly, part of the floor collapses, and you"
CALL AND-SIDEKICK
PRINTI " tumble through the resulting hole"
PRINT ELLIPSIS
CALL GOTO,CELL,TRUE-VALUE
IN? SIDEKICK,CRAMPED-SPACE \?CND1
MOVE SIDEKICK,HERE
?CND1: SET 'HOLE-OPEN,TRUE-VALUE
FCLEAR CRAMPED-SPACE,TOUCHBIT
PRINTI " Among the new rubble, you notice"
CALL APRINT,HOLE
PRINTI ", attached to a piece of (what used to be) the floor of the cramped space."
CRLF
CALL CELL-F,M-END
RTRUE
.FUNCT CRAMPED-SPACE-HOLE-F
ZERO? HOLE-OPEN \?ELS5
CALL CANT-SEE,PSEUDO-OBJECT
RSTACK
?ELS5: EQUAL? PRSA,V?ENTER,V?STAND-ON,V?CLIMB-DOWN /?THN8
EQUAL? PRSA,V?BOARD \FALSE
?THN8: CALL DO-WALK,P?DOWN
RSTACK
.FUNCT END-OF-HALLWAY-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "A "
PRINTD WIDE-CELL-DOOR
PRINTI " lies "
CALL OPEN-CLOSED,WIDE-CELL-DOOR
PRINTI " to the north, and"
CALL APRINT,NARROW-CELL-DOOR
PRINTI " lies "
CALL OPEN-CLOSED,NARROW-CELL-DOOR
PRINTI " to the south. The hallway ends at a gleaming "
PRINTD EXAM-ROOM-DOOR
PRINTI " to the west, and continues east. Something, possibly this very sentence, tells you that it would be dangerous to travel east or west"
PRINT SIGN-AND-STAIRS
RTRUE
.FUNCT EXAMINATION-ROOM-DESC,VIEWING=0
PRINTI "A number of hideous experiments fill th"
ZERO? VIEWING /?ELS3
PRINTI "e"
JUMP ?CND1
?ELS3: PRINTI "is"
?CND1: PRINTI " room. Their obvious purpose: studies of the human anatomy"
EQUAL? NAUGHTY-LEVEL,1 /?CND7
PRINTI ", especially those parts rarely referred to in the New York Times"
?CND7: PRINTI ". A pathetic-looking human is the current subject; however, even an author as fond of lascivious detail as this one would hesitate to describe it "
EQUAL? NAUGHTY-LEVEL,2 \?ELS14
PRINTR "even in LEWD mode, except to mention that it involves a lot of lubricants, some plastic tubing, and a yak."
?ELS14: PRINTI "to someone who's merely in "
ZERO? NAUGHTY-LEVEL \?ELS19
PRINTI "TAME"
JUMP ?CND17
?ELS19: PRINTI "SUGGESTIVE"
?CND17: PRINTR " mode."
.FUNCT EXAMINATION-ROOM-F
FSET? EXAM-ROOM-DOOR,OPENBIT \?ELS5
PRINTI """Examination"" Room
"
ZERO? SEEN-EXAMINATION-ROOM /?ELS8
PRINTI "The experiments look even more horrible from here than from the Observation Room window."
CRLF
JUMP ?CND6
?ELS8: CALL EXAMINATION-ROOM-DESC
?CND6: PRINTI " Before you've really gotten as sick as you know you could get, one of the"
CALL LECKBANDI
RSTACK
?ELS5: CALL THIS-IS-IT,EXAM-ROOM-DOOR
CALL DO-FIRST,STR?66,EXAM-ROOM-DOOR
RFALSE
.FUNCT OTHER-END-OF-HALLWAY-F
PRINTI "Other End of Hallway
Before you can even begin to wonder what happened to the middle of the hallway, a guard patrol erupts from the shadows. A"
CALL LECKBANDI
RSTACK
.FUNCT LECKBANDI
CALL JIGS-UP,STR?407
RSTACK
.FUNCT OBSERVATION-ROOM-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "Calvin Coolidge once described windows as ""rectangles of glass."" If so, he may have been thinking about the window which fills the western wall of this room. A tiny closet lies to the north"
PRINT SIGN-AND-STAIRS
RTRUE
.FUNCT CLOSET-F,RARG
EQUAL? RARG,M-LOOK \?ELS5
PRINTI "This room is barely large enough to turn around in. Just to prove it, you turn around. As you do, you spot"
CALL APRINT,HOLE
PRINTI ", about two feet across, seemingly painted on the floor in the corner. A shelf protrudes from one wall, very close to the ceiling. The closet is open to the south."
FSET? NOSE,MUNGBIT /TRUE
PRINTI " A strong odor "
FSET? HERE,SMELLEDBIT \?CND9
PRINTI "of "
PRINTD MOTHBALLS
PRINTI " "
?CND9: PRINTI "pervades the closet."
RTRUE
?ELS5: EQUAL? RARG,M-SMELL \FALSE
PRINTI "Apparently this section of Phobos has a significant moth problem."
RTRUE
.FUNCT CLOSET-EXIT-F
PRINTI "Ah! Coming out of the closet, I see"
PRINT ELLIPSIS
RETURN OBSERVATION-ROOM
.FUNCT CLOSET-OBJECT-F
EQUAL? PRSA,V?BOARD,V?WALK-TO,V?ENTER \?ELS5
EQUAL? HERE,CLOSET \?ELS10
PRINT LOOK-AROUND
RTRUE
?ELS10: EQUAL? HERE,OBSERVATION-ROOM \FALSE
CALL DO-WALK,P?NORTH
RSTACK
?ELS5: EQUAL? PRSA,V?DISEMBARK,V?LEAVE,V?EXIT \?ELS14
EQUAL? HERE,CLOSET \?ELS19
CALL DO-WALK,P?SOUTH
RSTACK
?ELS19: PRINT LOOK-AROUND
RTRUE
?ELS14: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS23
PRINTR "No door."
?ELS23: EQUAL? PRSA,V?SMELL \?ELS25
EQUAL? HERE,CLOSET \?ELS25
CALL PERFORM-PRSA,ODOR
RTRUE
?ELS25: EQUAL? PRSA,V?SEARCH \?ELS29
PRINT NOTHING-NEW
RTRUE
?ELS29: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
EQUAL? HERE,CLOSET \?ELS36
CALL V-LOOK
RSTACK
?ELS36: PRINT ONLY-BLACKNESS
RTRUE
.FUNCT SHELF-F
EQUAL? PRSA,V?PUT,V?PUT-ON \FALSE
EQUAL? PRSI,SHELF \FALSE
IN? PROTAGONIST,STOOL /FALSE
CALL CANT-REACH,SHELF
RSTACK
.FUNCT BASKET-F
FSET? BASKET,UNTEEDBIT /FALSE
EQUAL? PRSA,V?EXAMINE \?ELS7
PRINTR "The basket is oval-shaped. A handle spans the narrow part."
?ELS7: EQUAL? PRSA,V?MEASURE \?ELS9
PRINTR "The basket is about fifteen by thirty inches."
?ELS9: EQUAL? PRSA,V?CLOSE \?ELS11
CALL NO-LID
RSTACK
?ELS11: EQUAL? PRSA,V?PUT-NEAR,V?PUT \?ELS13
EQUAL? PRSI,ORPHANAGE-DOOR \?ELS13
CALL PERFORM,V?PUT-ON,BASKET,FRONT-STOOP
RTRUE
?ELS13: CALL TAKE-BABY-FROM-STOOP,BASKET
ZERO? STACK \TRUE
RFALSE
.FUNCT TAKE-BABY-FROM-STOOP,OBJ
EQUAL? PRSA,V?TAKE \FALSE
EQUAL? PRSO,OBJ \FALSE
CALL QUEUED?,I-ORPHANAGE
ZERO? STACK /FALSE
CALL CCOUNT,PROTAGONIST
LESS? STACK,11 \FALSE
CALL DEQUEUE,I-ORPHANAGE
RFALSE
.FUNCT MOTHBALLS-F
EQUAL? HERE,CLOSET \FALSE
PRINT YOU-CANT-SEE-ANY
PRINTD MOTHBALLS
PRINTR " here. It must be some imitation mothball air mist."
.FUNCT ROOF-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "Your view extends to the horizon, which on tiny Phobos usually means a few hundred feet. Thrusting up into sight beyond the horizon are"
PRINT PLEASURE-PALACE-DESC
PRINTD LGOP
PRINTI ". On a wide plain between here and the palace, powerful warships are poised for the imminent invasion of Earth.
Mars dominates the view, a dull red orb spanning a quarter of the sky. Bright blue canals lace the surface, and white caps of ice are visible at both poles.
A stairway leads down into the building. Near the edge, seemingly painted onto the roof, is"
CALL APRINT,HOLE
PRINTI ". You might be able to jump to the ground, but frankly we advise against it."
RTRUE
.FUNCT ROOF-OBJECT-F
EQUAL? PRSA,V?DISEMBARK,V?LEAP-OFF /?THN6
EQUAL? PRSA,V?TAKE-OFF \?ELS5
EQUAL? P-PRSA-WORD,W?GET \?ELS5
?THN6: SET 'PRSO,FALSE-VALUE
CALL V-LEAP
RSTACK
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS11
CALL V-LOOK
RSTACK
?ELS11: EQUAL? PRSA,V?SEARCH \FALSE
PRINT NOTHING-NEW
RTRUE
.FUNCT I-BLUEPRINT
CALL VISIBLE?,SIDEKICK
ZERO? STACK /?ELS5
CALL LIT?,HERE
ZERO? STACK /?ELS5
LOC SIDEKICK
EQUAL? STACK,SECOND-SLAB,STALLION /?ELS5
CALL QUEUED?,I-SIDEKICK-OUT-WINDOW
ZERO? STACK \?ELS5
MOVE MATCHBOOK,PROTAGONIST
PRINTI " "
CALL DPRINT-SIDEKICK
PRINTI " trots over to you. ""I've got a plan to bring these Leather Goddess jokers to their knees,"" "
CALL HE-SHE
PRINTI " says, flipping you a "
PRINTD MATCHBOOK
PRINTI ". "
CALL COVER-FILLED-WITH-NOTES
CALL SCRAPE-UP-THESE-ITEMS
RSTACK
?ELS5: CALL QUEUE,I-BLUEPRINT,3
RFALSE
.FUNCT SCRAPE-UP-THESE-ITEMS
PRINTI """If we can scrape up these items, I can whip up something that'll knock 'em cold! A "
PRINTD ANTI-LGOP-MACHINE
PRINTR "!!!"""
.FUNCT MATCHBOOK-F
FSET? MATCHBOOK,UNTEEDBIT /FALSE
EQUAL? PRSA,V?KILL \?ELS7
EQUAL? P-PRSA-WORD,W?STRIKE \?ELS7
CALL PERFORM,V?ON,MATCHBOOK
RTRUE
?ELS7: EQUAL? PRSA,V?LOOK-INSIDE,V?COUNT,V?OPEN /?THN12
EQUAL? PRSA,V?ON \?ELS11
?THN12: PRINTI "You briefly open the "
PRINTD MATCHBOOK
PRINTR " and see that there are no matches left."
?ELS11: EQUAL? PRSA,V?CLOSE \?ELS15
PRINT ALREADY-IS
RTRUE
?ELS15: EQUAL? PRSA,V?READ \?ELS17
PRINTI "Most of the scrawlings are a ""blueprint"" for a vastly complicated device. Below that is a parts list:
1."
CALL APRINT,BLENDER
PRINTI "
2. six feet of "
PRINTD RUBBER-HOSE
PRINTI "
3. a "
PRINTD COTTON-BALLS
PRINTI "
4. an "
PRINTD EIGHTY-TWO-DEGREE-ANGLE
PRINTI "
5. a "
PRINTD HEADLIGHT
PRINTI " from any 1933 Ford
6. a white mouse
7. any size "
CALL DPRINT,PHOTO
PRINTI "
8. a copy of"
CALL TPRINT,PHONE-BOOK
CRLF
RTRUE
?ELS17: EQUAL? PRSA,V?EXAMINE \FALSE
CALL COVER-FILLED-WITH-NOTES
CALL PERFORM,V?OPEN,MATCHBOOK
RTRUE
.FUNCT COVER-FILLED-WITH-NOTES
PRINTI "The cover of the "
PRINTD MATCHBOOK
PRINTI " is filled with scrawled notations. "
RTRUE
.FUNCT BOUDOIR-F,RARG
EQUAL? RARG,M-ENTER \?ELS5
MOVE PROTAGONIST,DIVAN
CALL QUEUE,I-BOUDOIR,6
RSTACK
?ELS5: EQUAL? RARG,M-LOOK \?ELS7
PRINTI "There is only enough light here to make out vague shapes. "
IN? PROTAGONIST,DIVAN \?CND8
PRINTI "You seem to be lying on a plush divan. "
?CND8: CALL NOT-ALONE-ON-DIVAN
FSET? NOSE,MUNGBIT /TRUE
PRINTI " A pleasing odor "
FSET? HERE,SMELLEDBIT \?CND14
PRINTI "of leather "
?CND14: PRINTI "comes from close by."
RTRUE
?ELS7: EQUAL? RARG,M-SMELL \FALSE
PRINTI "Someone nearby is wearing leather. Lots of leather."
RTRUE
.FUNCT NOT-ALONE-ON-DIVAN
PRINTI "You hear heavy breathing from nearby"
IN? PROTAGONIST,DIVAN \?CND1
PRINTI ", and realize that you are not alone on the couch"
?CND1: PRINTI "."
RTRUE
.FUNCT I-BOUDOIR,NOT-CALLED-BY-FUCK=1
PRINTI " You hear a click, and "
IN? PROTAGONIST,HERE /?CND1
PRINTI "leap to your feet as "
?CND1: PRINTI "the room is flooded with light!
"
PRINTD HERE
PRINTI "
Oh, no! You have violated the sanctity of a boudoir! And not just any old boudoir, but an"
PRINT PRIVATE-BOUDOIR
PRINTI "! And not just any old"
PRINT PRIVATE-BOUDOIR
PRINTI ", but an"
PRINT PRIVATE-BOUDOIR
PRINTI " belonging to "
PRINTD LGOP
PRINTI "!
""The escaped prisoner"
CALL VISIBLE?,SIDEKICK
ZERO? STACK /?CND4
PRINTI "s"
?CND4: PRINTI "!"" cries one of "
PRINTD LGOP
PRINTI ". ""Sound the alarm!""
""Inform the guards!"" yells another.
""Call out the army!""
""Alert the space fleet!""
""Summon my masseur,"" says the single unfrantic Goddess, calmly pulling a lever. As the floor opens up, you"
CALL AND-SIDEKICK
PRINTI " plunge down a long chute"
PRINT ELLIPSIS
CALL INCREMENT-SCORE,9,13
CALL GOTO,PLAZA,TRUE-VALUE
CALL ULTIMATELY-IN?,SIDEKICK,BOUDOIR
ZERO? STACK /?CND7
MOVE SIDEKICK,PLAZA
?CND7: ZERO? NOT-CALLED-BY-FUCK /TRUE
EQUAL? PRSA,V?WAIT /TRUE
CALL PLAZA-F,M-END
RTRUE
.FUNCT LGOP-F
EQUAL? LGOP,WINNER \?ELS5
EQUAL? PRSA,V?KISS \?ELS10
EQUAL? PRSO,ME \?ELS10
SET 'WINNER,PROTAGONIST
CALL PERFORM-PRSA,LGOP
SET 'WINNER,LGOP
RTRUE
?ELS10: EQUAL? PRSA,V?TAKE,V?FUCK \?ELS14
EQUAL? PRSO,ME \?ELS14
SET 'WINNER,PROTAGONIST
CALL PERFORM,V?FUCK,LGOP
SET 'WINNER,LGOP
RTRUE
?ELS14: ZERO? NAUGHTY-LEVEL \?ELS18
PRINT LEAVE-ME-ALONE
RTRUE
?ELS18: PRINTI """Shut up and kiss me, honey."""
CRLF
CALL STOP
RSTACK
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS22
PRINTI "The lighting is too dim to see more than vague shapes."
ZERO? NAUGHTY-LEVEL /?CND23
PRINTI " But very shapely shapes!"
?CND23: CRLF
RTRUE
?ELS22: EQUAL? PRSA,V?KISS,V?FUCK,V?TOUCH \?ELS27
ZERO? NAUGHTY-LEVEL \?ELS27
PRINTI "You're pushed away. "
PRINT LEAVE-ME-ALONE
RTRUE
?ELS27: EQUAL? PRSA,V?EAT \?ELS31
ZERO? NAUGHTY-LEVEL \?ELS36
CALL V-FUCK
RSTACK
?ELS36: EQUAL? NAUGHTY-LEVEL,1 \?ELS38
PRINT MISSIONARY-ONLY
RTRUE
?ELS38: PRINTR "As you dive between her thighs, she arches toward you, shivering with hedonistic pleasure."
?ELS31: EQUAL? PRSA,V?TOUCH \?ELS42
PRINTI "Your arms discover a soft and eager body. You hear a purr of pleasure"
EQUAL? NAUGHTY-LEVEL,2 \?CND43
CALL BODIES-PRESS-TOGETHER,STR?414,STR?415
?CND43: PRINT PERIOD-CR
RTRUE
?ELS42: EQUAL? PRSA,V?KISS \?ELS47
PRINTI "Your lips meet those of your couchmate -- full, moist lips; the lips of someone who knows how to kiss"
EQUAL? NAUGHTY-LEVEL,2 \?CND48
PRINTI ". A tongue slides teasingly into "
PRINTD MOUTH
CALL BODIES-PRESS-TOGETHER,STR?416,STR?417
?CND48: CALL VISIBLE?,SIDEKICK
ZERO? STACK /?CND51
PRINT PERIOD-CR
PRINTI " You hear a ""thunk"" as "
CALL DPRINT-SIDEKICK
PRINTI ", humping enthusiastically, falls off "
CALL HIS-HER
PRINTI " couch"
?CND51: PRINT PERIOD-CR
RTRUE
?ELS47: EQUAL? PRSA,V?SMELL \?ELS55
CALL PERFORM-PRSA,ODOR
RTRUE
?ELS55: EQUAL? PRSA,V?FUCK \FALSE
PRINTI "Your couchmate seems only too happy to oblige. You flush with passion"