Revision 37 (Original Source)

master
historicalsource 2019-04-14 02:06:26 -04:00
commit 75ca071733
43 changed files with 49963 additions and 0 deletions

1
README.md Normal file
View File

@ -0,0 +1 @@
# hollywoodhijinx

381
anthill.chart Normal file
View File

@ -0,0 +1,381 @@
-date- -rel- -size- -pre- -obj- -glo- -voc-
6/19 1 33030 10511 42 96 545
6/19 2 33040 10515 42 96 545
6/19 3 33040 10515 42 96 545
7/08 3 35058 11081 59 97 559
7/09 4 35052 11087 59 99 559
7/09 5 35012 11048 58 99 559
7/09 6 35086 11063 58 100 559
7/09 7 35136 11069 58 100 559
7/09 7 35140 11069 58 100 559
7/10 8 35124 11066 58 100 559
7/10 9 35124 11066 58 100 559
7/11 10 35204 11093 59 100 560
7/18 11 35246 11093 59 100 560
7/18 13 35398 11049 58 100 558
7/19 14 35472 11066 59 100 558
7/22 15 36406 11069 59 100 559
7/22 16 35550 11071 59 100 559
7/22 17 35440 11071 59 100 559
7/22 18 35476 11071 59 100 559
7/23 19 35452 11071 59 100 559
7/23 20 35452 11071 59 100 559
7/24 21 35460 11069 59 100 559
7/24 22 35928 11153 61 101 561
7/26 23 35964 11153 61 101 561
7/26 24 35988 11175 61 101 561
7/29 25 35972 11173 61 100 561
7/30 26 36886 11465 69 102 570
7/30 26 36876 11456 69 102 570
7/30 27 36874 11454 69 102 570
7/30 28 36870 11454 69 102 570
7/30 29 36870 11454 69 102 570
7/30 30 36872 11452 68 102 570
8/01 31 36872 11379 66 102 570
8/01 32 36910 11414 67 102 571
8/02 33 38230 11678 76 103 575
8/02 34 38318 11687 76 103 575
8/04 35 38326 11696 76 103 576
8/27 36 40798 12306 91 106 588
8/29 37 41138 12394 92 107 592
9/05 38 41210 12398 92 107 592
9/05 39 41182 12400 92 107 592
9/10 40 41366 12384 91 107 594
9/11 41 41636 12444 92 107 597
9/20 42 41986 12507 94 107 597
9/25 43 42904 12635 96 108 601
10/16 44 43330 12675 97 108 602
10/22 45 43134 12530 96 108 591
10/24 46 43160 12530 96 108 591
11/13 47 44596 12720 98 107 601
11/13 48 44594 12720 98 107 601
11/25 49 44800 12727 98 108 600
11/26 50 44812 12727 98 108 600
11/26 51 44864 12727 98 108 600
12/23 52 46768 13246 109 114 620
12/28 53 47218 13391 114 115 620
12/28 54 47218 13391 114 115 620
12/28 55 47300 13391 114 115 620
12/28 56 47300 13391 114 115 620
12/28 57 47300 13391 114 115 620
12/29 58 47300 13391 114 115 620
12/29 59 47300 13391 114 115 620
12/29 60 47300 13391 114 115 620
12/29 61 47306 13391 114 115 620
12/29 62 47320 13398 114 115 621
1/09 63 48038 13520 116 116 626
1/14 64 48236 13520 116 116 626
1/15 65 48638 13520 116 116 626
1/20 66 48590 13558 117 116 628
1/20 67 48786 13562 117 116 628
1/21 68 48792 13570 117 116 628
1/21 69 48810 13570 117 116 628
1/21 70 48826 13570 117 116 628
1/22 71 48800 13570 117 116 628
1/23 72 48758 13532 116 116 626
1/23 73 48758 13532 116 116 626
1/27 74 49582 13760 120 118 629
1/27 75 49748 13774 120 118 629
1/27 -1 49736 13776 120 118 629
1/29 -1 49736 13776 120 118 629
1/29 -1 49740 13776 120 118 629
1/29 -1 50010 13896 122 118 636
1/29 -1 50044 13896 122 118 636
2/06 2 50894 13958 130 120 648
2/06 3 51140 14002 130 122 648
2/06 4 51160 14002 130 122 648
2/06 5 51152 14002 130 122 648
2/10 6 52192 14327 136 122 658
2/10 7 52162 14327 136 122 658
2/10 8 52150 14327 136 122 658
2/10 9 52164 14330 136 122 658
2/10 10 52166 14330 136 122 658
2/11 11 52170 14334 136 122 658
2/11 12 52486 14375 137 122 658
2/12 13 52586 14442 138 122 661
3/10 14 55950 15521 139 127 662
3/10 15 55938 15516 139 127 662
3/12 16 57588 15615 142 127 658
3/12 17 57584 15615 142 127 658
3/12 18 57588 15617 142 127 658
3/12 19 57690 15617 142 127 658
3/18 20 60178 15656 142 127 660
3/18 21 60324 15656 142 127 660
3/18 22 60862 15656 142 127 660
3/19 23 60734 15742 144 128 665
3/19 24 60738 15745 144 128 665
3/19 25 60738 15745 144 128 665
3/19 26 61276 15745 144 128 665
3/24 27 64 0 0 0 0
3/24 28 64 0 0 0 0
3/24 29 64 0 0 0 0
3/24 30 63752 16341 158 131 685
3/24 31 62894 16255 156 131 682
3/26 32 63132 16321 158 130 684
3/26 33 63044 16321 158 130 684
3/27 34 62906 16322 158 130 684
4/02 34 64998 16630 163 131 690
4/03 35 65302 16630 163 131 690
4/03 36 64890 16630 163 131 690
4/04 37 65256 16574 161 133 688
4/06 38 65298 16574 161 133 688
4/08 39 65730 16623 162 135 689
4/09 40 66738 16709 165 135 689
4/11 41 66728 16761 166 135 692
4/24 42 58708 15719 143 128 675
4/24 43 58700 15719 143 128 675
4/26 44 65708 16815 169 133 693
4/27 45 65660 16712 166 133 693
4/28 46 65664 16703 166 133 693
4/28 47 65766 16715 166 133 693
4/29 48 64 0 0 0 0
4/29 49 64866 15653 159 129 685
5/01 50 66290 16710 168 131 686
5/04 51 67014 16806 168 133 691
5/05 52 67310 16823 168 133 693
5/05 53 67466 16829 168 133 693
5/05 54 67468 16829 168 133 693
5/05 55 67490 16817 168 133 693
5/05 56 67730 16846 168 133 693
5/05 57 67626 16843 168 133 693
5/06 58 64 0 0 0 0
5/07 59 67626 16849 168 133 694
5/13 60 70518 17744 192 137 715
5/17 61 73154 18066 199 144 717
5/17 62 73154 18066 199 144 717
5/19 63 73154 18066 199 144 717
5/19 64 73240 18061 200 144 716
5/21 65 73664 18094 200 145 716
5/22 66 73670 18090 200 145 716
5/22 67 64 0 0 0 0
5/23 68 64 0 0 0 0
5/23 69 73792 18221 201 145 726
5/23 70 74038 18262 202 145 726
5/27 71 74966 18319 203 145 727
5/28 72 74966 18319 203 145 727
5/28 73 74966 18319 203 145 727
6/03 74 74934 18445 207 145 730
6/05 75 75170 18404 206 145 729
6/05 76 75404 18428 206 146 730
6/06 77 75518 18450 206 146 731
6/10 78 79606 18605 210 146 736
6/10 79 64 0 0 0 0
6/10 80 79968 18742 211 146 744
6/11 81 80216 18757 211 146 746
6/16 82 80494 18757 211 146 746
6/17 83 80854 18736 210 145 746
6/17 84 80854 18736 210 145 746
6/18 85 80846 18738 210 145 746
6/19 86 80938 18740 210 146 746
6/19 87 81026 18743 210 146 746
6/20 88 80806 18685 207 146 747
6/21 89 81274 18681 207 145 745
6/21 90 81338 18682 207 145 745
6/21 91 81304 18673 207 144 744
6/22 92 81696 18673 207 144 744
6/25 93 64 0 0 0 0
6/26 93 64 0 0 0 0
6/26 94 82624 18759 208 148 749
6/26 95 82704 18791 209 148 749
6/26 96 82740 18852 209 148 750
6/30 97 84332 19196 213 145 754
6/30 98 84334 19198 213 145 754
6/30 99 84334 19198 213 145 754
7/01 100 84456 19198 213 145 754
7/03 101 84250 19114 213 145 754
7/09 102 85798 19654 229 145 764
7/09 103 85798 19654 229 145 764
7/09 104 85870 19654 229 145 764
7/09 105 85862 19654 229 145 764
7/12 106 88288 19654 229 150 764
7/13 107 88500 19654 229 150 764
7/14 108 88514 19654 229 150 764
7/29 109 91168 19652 226 156 773
8/02 110 92976 19536 222 157 770
8/05 111 93494 19643 223 158 774
8/07 112 94118 19591 221 155 774
8/07 113 94126 19591 221 155 774
8/07 114 94126 19591 221 155 774
8/12 115 95274 19777 225 156 782
8/19 116 95494 19832 226 156 783
8/20 117 97676 19926 229 157 784
8/21 118 97724 19926 229 157 784
8/21 119 97780 19926 229 157 784
8/25 120 99074 20167 235 157 791
8/25 121 99060 20154 234 157 791
8/26 122 99044 20154 234 157 791
8/29 123 98826 19933 228 159 787
9/02 124 98976 19933 228 159 787
9/03 125 99696 19941 228 160 787
9/03 126 99696 19941 228 160 787
9/03 127 99696 19941 228 160 787
9/03 128 99778 19941 228 160 787
9/03 129 99966 19960 228 160 789
9/04 130 100558 20239 234 160 800
9/10 131 101850 20436 236 165 810
9/10 132 102010 20485 237 165 812
9/11 133 102234 20489 237 167 812
9/11 134 102642 20527 237 167 814
9/14 135 102642 20527 237 167 814
9/15 136 103616 20560 237 167 814
9/16 137 103494 20522 236 167 814
9/16 138 103712 20565 237 167 816
9/17 139 104280 20584 236 167 820
9/18 140 104188 20479 235 167 805
9/19 141 104368 20482 235 167 805
9/22 142 104502 20474 235 166 806
9/24 143 105582 20484 235 167 806
9/24 144 64 0 0 0 0
9/24 145 106918 20548 235 169 809
9/25 146 106974 20638 237 159 812
9/25 147 106972 20638 237 159 812
9/26 148 107934 20831 242 162 814
9/26 149 107922 20820 241 162 814
9/28 150 108134 20825 241 164 814
9/29 151 108340 20827 241 165 814
9/29 152 108874 20913 241 166 817
9/30 153 109050 20977 240 166 817
10/01 154 108520 20901 238 166 815
10/01 155 108494 20869 239 166 810
10/01 156 108494 20869 239 166 810
10/01 157 108478 20858 238 166 810
10/01 158 108478 20858 238 166 810
10/02 159 108478 20858 238 166 810
10/03 160 108336 20820 237 167 808
10/06 161 108334 20820 237 167 808
10/08 162 110382 20946 240 167 818
10/08 163 110390 20946 240 167 818
10/08 164 110380 20935 239 167 818
10/09 165 110400 20949 239 167 819
10/09 166 110432 20952 239 167 819
10/09 167 110468 20956 239 167 819
10/09 168 110470 20956 239 167 819
10/09 168 110470 20956 239 167 819
10/10 169 110470 20956 239 167 819
10/10 169 110470 20956 239 167 819
10/10 170 110482 20956 239 167 819
10/14 171 110846 20998 241 167 820
10/15 172 110854 20998 241 167 820
10/15 173 110854 20996 241 167 820
10/19 174 111316 21081 241 167 825
10/20 175 111490 21094 241 167 827
10/20 176 111504 21101 241 167 828
10/21 177 111756 21194 241 167 832
10/22 178 111746 21194 241 167 832
10/22 178 111744 21194 241 167 832
10/23 178 112860 21357 242 168 833
10/26 179 112882 21351 242 168 833
10/26 180 112880 21351 242 168 833
10/26 181 112872 21351 242 168 833
10/26 182 112938 21353 242 168 833
10/27 183 112942 21353 242 168 833
10/27 184 113350 21393 242 168 834
10/27 185 113318 21393 242 168 834
10/28 186 113940 21393 242 168 834
10/29 187 113928 21391 242 167 834
10/29 188 114240 21408 242 167 835
10/30 189 114704 21438 242 167 837
10/30 190 114752 21438 242 167 837
10/30 191 114790 21438 242 167 837
10/30 192 115026 21440 242 167 837
11/03 193 115122 21430 242 167 835
11/03 194 115162 21430 242 167 835
11/03 195 115324 21430 242 167 835
11/05 196 115668 21382 241 166 835
11/05 197 115542 21331 241 164 829
11/05 198 115540 21331 241 164 829
11/05 199 115544 21265 241 164 826
11/05 200 115634 21265 241 164 826
11/06 201 115706 21267 241 164 826
11/06 202 115706 21267 241 164 826
11/07 203 115728 21267 241 164 826
11/11 204 115730 21267 241 164 826
11/11 205 116044 21271 241 164 826
11/12 206 115710 21269 241 163 826
11/12 207 115702 21269 241 163 826
11/12 208 115706 21269 241 163 826
11/12 209 115868 21269 241 163 826
11/12 210 115866 21269 241 163 826
11/12 211 115862 21269 241 163 826
11/12 212 115864 21269 241 163 826
11/12 213 115884 21269 241 163 826
11/12 214 115548 21233 240 163 824
11/12 215 115874 21242 240 163 825
11/13 216 116092 21240 240 163 825
11/13 217 116092 21240 240 163 825
11/13 218 116092 21240 240 163 825
11/13 219 116044 21240 240 163 825
11/13 220 116044 21240 240 163 825
11/13 221 116184 21195 239 163 826
11/14 222 116448 21195 239 163 827
11/14 223 116450 21199 239 163 827
11/14 224 116450 21199 239 163 827
11/14 225 116454 21199 239 163 827
11/15 226 117152 21218 239 163 828
11/17 227 117176 21218 239 163 828
11/17 228 117410 21316 239 163 828
11/17 229 117510 21316 239 163 827
11/17 230 117506 21309 239 163 826
11/17 231 117488 21309 239 163 826
11/17 232 117486 21309 239 163 826
11/17 233 118562 21311 239 163 826
11/18 234 118626 21311 239 163 826
11/18 235 118626 21311 239 163 826
11/18 236 118828 21357 240 163 829
11/19 237 118832 21357 240 163 829
11/19 238 118844 21384 240 163 832
11/25 239 118848 21384 240 163 832
11/27 240 118838 21381 240 163 832
11/27 241 118880 21339 240 163 831
11/27 242 118880 21339 240 163 831
11/28 243 118878 21348 240 163 831
11/28 244 118874 21348 240 163 831
11/28 245 119168 21349 240 163 831
11/28 246 119294 21348 240 163 831
11/29 247 119292 21348 240 163 831
11/29 248 119292 21348 240 163 831
11/29 249 119332 21357 240 163 832
12/01 250 119330 21357 240 163 832
12/01 251 119884 21408 240 163 832
12/01 252 119870 21408 240 163 832
12/01 253 119846 21408 240 163 832
12/02 254 120094 21421 240 164 832
12/02 255 120206 21423 240 164 832
12/03 256 120536 21475 240 164 836
12/03 1 120530 21475 240 164 836
12/03 2 120528 21475 240 164 836
12/04 3 120528 21475 240 164 836
12/04 4 120652 21486 240 164 835
12/04 5 120656 21486 240 164 835
12/04 6 120726 21495 240 164 836
12/04 7 120744 21493 240 164 836
12/05 8 120888 21496 240 164 836
12/05 9 120864 21494 240 164 836
12/05 10 121084 21494 240 164 836
12/05 11 121102 21494 240 164 836
12/06 12 121278 21517 240 165 838
12/06 13 121928 21727 242 165 857
12/07 14 121932 21727 242 165 857
12/07 15 122540 21727 242 167 857
12/08 16 122702 21746 242 167 857
12/08 17 123208 21843 243 167 862
12/08 18 123218 21847 243 167 862
12/09 19 123214 21847 243 167 862
12/09 20 123200 21838 243 167 861
12/09 21 123214 21843 243 167 861
12/09 22 111398 22299 243 167 861
12/09 23 111426 22299 243 167 861
12/09 24 111576 22300 243 167 861
12/10 25 111584 22308 243 167 861
12/10 26 111730 22310 243 168 861
12/10 27 111810 22351 244 168 862
12/10 28 111826 22351 244 168 862
12/10 29 111864 22350 244 168 862
12/10 30 111858 22358 244 168 863
12/11 31 111864 22358 244 168 863
12/12 32 111908 22361 244 168 863
12/12 33 110044 22315 244 167 861
12/14 34 110044 22315 244 167 861
12/15 35 109646 22148 244 167 854
12/15 36 109648 22148 244 167 854
12/15 37 109650 22148 244 167 854

35
anthill.errors Normal file
View File

@ -0,0 +1,35 @@
Assembling ANTHILL.ZAP.447 on Monday, December 15, 1986 15:25:36
Release: 37
(2 bytes)
66 Inserting ANTHILLFREQ.XZAP.1 (644 bytes)
710 Inserting ANTHILLDAT.ZAP.282 (21438 bytes)
22148 Inserting ANTHILLPUR.ZAP.96 (228 bytes)
22376 Inserting MISC.ZAP.514 (2267 bytes)
24643 Inserting PARSER.ZAP.406 (9944 bytes)
34587 Inserting GLOBALS.ZAP.403 (1358 bytes)
35945 Inserting SYNTAX.ZAP.404 (43 bytes)
35988 Inserting VERBS.ZAP.396 (11680 bytes)
47668 Inserting PARLOR.ZAP.391 (5161 bytes)
52829 Inserting FIRST-FLOOR.ZAP.339 (10608 bytes)
63437 Inserting SECOND-FLOOR.ZAP.331 (5867 bytes)
69304 Inserting BSHELTER.ZAP.364 (6571 bytes)
75875 Inserting OUTSIDE.ZAP.338 (5945 bytes)
81820 Inserting ELEVATOR.ZAP.200 (7944 bytes)
89764 Inserting HEDGEMAZE.ZAP.320 (9113 bytes)
98877 Inserting MAP.ZAP.315 (0 bytes)
98877 Inserting POINTS.ZAP.180 (0 bytes)
98877 Inserting ANTHILLSTR.ZAP.281 (10773 bytes)
Symbols unused:
V-$DEBUG
HEDGE-NUM
244 objects.
167 globals.
854 word vocabulary.
109650 bytes (108K).
22148 bytes of preload.
12142 bytes of impure.
Outputting symbol tables

1129
anthill.record Normal file

File diff suppressed because it is too large Load Diff

1
anthill.serial Normal file
View File

@ -0,0 +1 @@
407

21
anthill.zap Normal file
View File

@ -0,0 +1,21 @@
.INSERT "PS:<DA.PLAYLAND>ANTHILLFREQ" ; Frequent word table
.INSERT "PS:<DA.PLAYLAND>ANTHILLDAT" ; Data file
.INSERT "PS:<DA.PLAYLAND>ANTHILLPUR"
.INSERT "PS:<DA.PLAYLAND>MISC"
.INSERT "PS:<DA.PLAYLAND>PARSER"
.INSERT "PS:<DA.PLAYLAND>GLOBALS"
.INSERT "PS:<DA.PLAYLAND>SYNTAX"
.INSERT "PS:<DA.PLAYLAND>VERBS"
.INSERT "PS:<DA.PLAYLAND>PARLOR"
.INSERT "PS:<DA.PLAYLAND>FIRST-FLOOR"
.INSERT "PS:<DA.PLAYLAND>SECOND-FLOOR"
.INSERT "PS:<DA.PLAYLAND>BSHELTER"
.INSERT "PS:<DA.PLAYLAND>OUTSIDE"
.INSERT "PS:<DA.PLAYLAND>ELEVATOR"
.INSERT "PS:<DA.PLAYLAND>HEDGEMAZE"
.INSERT "PS:<DA.PLAYLAND>MAP"
.INSERT "PS:<DA.PLAYLAND>POINTS"
.INSERT "PS:<DA.PLAYLAND>ANTHILLSTR"
.END

67
anthill.zil Normal file
View File

@ -0,0 +1,67 @@
"ANTHILL.ZIL LOAD FILE for ANTHILL (C)1986 Infocom Inc. All Rights Reserved."
<PRINC "
ANTHILL
">
;<LINK '<ERRET T> "" <ROOT>>
<LINK '<INSERT-FILE "FIRST-FLOOR" T> "F" <ROOT>>
<LINK '<INSERT-FILE "PARLOR" T> "P" <ROOT>>
<LINK '<INSERT-FILE "HEDGEMAZE" T> "H" <ROOT>>
<LINK '<INSERT-FILE "BSHELTER" T> "B" <ROOT>>
<LINK '<INSERT-FILE "SECOND-FLOOR" T> "S" <ROOT>>
<LINK '<INSERT-FILE "OUTSIDE.ZIL" T> "O" <ROOT>>
<LINK '<INSERT-FILE "ELEVATOR" T> "E" <ROOT>>
<LINK '<INSERT-FILE "VERBS" T> "V" <ROOT>>
<SETG NEW-VOC? T>
<FREQUENT-WORDS?>
<SET REDEFINE T>
<SET ZREDEFINE T>
<DEFINE BYTE ("TUPLE" TUP)
<CHTYPE <ORB !.TUP> BYTE>> ;"temp hack for maze until compiler fix"
ON!-INITIAL
OFF!-INITIAL
; <GLOBAL BIGFIX 10000>
<SETG CRLF-CHARACTER !\~>
<OR <GASSIGNED? ZILCH>
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
<COND (<GASSIGNED? PREDGEN> ;"should be zilch? should be cut?"
<SETG ZSTR-ON <SETG ZSTR-OFF ,TIME>>
<ID 0>)>
<BIT-SYNONYM EVERYBIT
LENS-CAP-OFF-BIT ;FILM-LOOPED-BIT FOCUS-BIT WINDOW-OPEN-BIT
ON-MONUMENT-BIT BROKEN-BIT HUNG-BIT HAND-ON-SACK-BIT
PHONE-DEAD-BIT BRICK-REMOVED-BIT WAXED-BIT TRASHED-BIT
CANNON-MOVED-BIT ON-GROUND-BIT ;ROLLED-BIT CLUTCHING-BIT
NEWEL-TURNED-BIT CARDS-RIGHT-BIT BROKEN-BIT BLACK-CAT-BIT
CANT-MOVE-POST-BIT BUCKET-PEG-DOWN-BIT
TRUNK-LOCKED-BIT>
<INSERT-FILE "MISC" T>
<INSERT-FILE "PARSER" T>
<INSERT-FILE "GLOBALS" T>
<INSERT-FILE "SYNTAX" T>
<INSERT-FILE "VERBS" T>
<INSERT-FILE "PARLOR" T>
<INSERT-FILE "FIRST-FLOOR" T>
<INSERT-FILE "SECOND-FLOOR" T>
<INSERT-FILE "BSHELTER" T>
<INSERT-FILE "OUTSIDE" T>
<INSERT-FILE "ELEVATOR" T>
<INSERT-FILE "HEDGEMAZE" T>
<INSERT-FILE "MAP" T>
<INSERT-FILE "POINTS" T>
<PROPDEF SIZE 5>
<PROPDEF CAPACITY 0>

BIN
anthill.zip Normal file

Binary file not shown.

14809
anthilldat.zap Normal file

File diff suppressed because it is too large Load Diff

200
anthillfreq.xzap Normal file
View File

@ -0,0 +1,200 @@
.FSTR FSTR?1,"the " ;2224 1113
.FSTR FSTR?2,"You " ;1047 350
.FSTR FSTR?3,"The " ;759 254
.FSTR FSTR?4,"and " ;598 300
.FSTR FSTR?5,"you " ;512 257
.FSTR FSTR?6,". " ;464 465
.FSTR FSTR?7,", " ;455 456
.FSTR FSTR?8,"of " ;412 413
.FSTR FSTR?9,"to " ;403 404
.FSTR FSTR?10,"It's " ;390 79
.FSTR FSTR?11,"your " ;345 116
.FSTR FSTR?12,"can't " ;345 70
.FSTR FSTR?13,"is " ;278 279
.FSTR FSTR?14,"Hildegarde " ;270 28
.FSTR FSTR?15,"with " ;261 88
.FSTR FSTR?16,"You're " ;252 37
.FSTR FSTR?17,"from " ;231 78
.FSTR FSTR?18,"Aunt " ;224 57
.FSTR FSTR?19,"Uncle " ;220 45
.FSTR FSTR?20,"in " ;218 219
.FSTR FSTR?21,"There " ;215 44
.FSTR FSTR?22,"Buddy's " ;184 24
.FSTR FSTR?23,"This " ;168 43
.FSTR FSTR?24,"through " ;168 29
.FSTR FSTR?25,"down " ;165 56
.FSTR FSTR?26,"have " ;162 55
.FSTR FSTR?27,"already " ;162 28
.FSTR FSTR?28,"Hildegarde's " ;156 13
.FSTR FSTR?29,"into " ;150 51
.FSTR FSTR?30,"would " ;148 38
.FSTR FSTR?31,"closet " ;145 30
.FSTR FSTR?32,"nothing " ;144 25
.FSTR FSTR?33,"Herman " ;138 24
.FSTR FSTR?34,"standing " ;133 20
.FSTR FSTR?35,"that " ;132 45
.FSTR FSTR?36,"There's " ;128 17
.FSTR FSTR?37,"Cousin " ;126 22
.FSTR FSTR?38,"this " ;117 40
.FSTR FSTR?39,"Hildegarde" ;117 14
.FSTR FSTR?40,"on " ;115 116
.FSTR FSTR?41,"walkway " ;114 20
.FSTR FSTR?42,"out " ;112 57
.FSTR FSTR?43,"then " ;111 38
.FSTR FSTR?44,"here" ;110 56
.FSTR FSTR?45,"about " ;108 28
.FSTR FSTR?46,"for " ;106 54
.FSTR FSTR?47,"small " ;104 27
.FSTR FSTR?48,"leads " ;104 27
.FSTR FSTR?49,"floor " ;104 27
.FSTR FSTR?50,"are " ;100 51
.FSTR FSTR?51,"It " ;100 51
.FSTR FSTR?52,"see " ;96 49
.FSTR FSTR?53,"which " ;96 25
.FSTR FSTR?54,"several " ;96 17
.FSTR FSTR?55,"that" ;94 48
.FSTR FSTR?56,"north " ;92 24
.FSTR FSTR?57,"doesn't " ;91 14
.FSTR FSTR?58,"You'll " ;91 14
.FSTR FSTR?59,"hear " ;90 31
.FSTR FSTR?60,"rocket " ;90 19
.FSTR FSTR?61,"Buddy " ;90 19
.FSTR FSTR?62,"plastic " ;90 16
.FSTR FSTR?63,"closed" ;88 23
.FSTR FSTR?64,"it " ;86 87
.FSTR FSTR?65,"but " ;86 44
.FSTR FSTR?66,"won't " ;85 18
.FSTR FSTR?67,"stairs " ;85 18
.FSTR FSTR?68,"isn't " ;85 18
.FSTR FSTR?69,"around " ;85 18
.FSTR FSTR?70,"it's " ;84 22
.FSTR FSTR?71,"garden" ;84 22
.FSTR FSTR?72,"don't " ;80 17
.FSTR FSTR?73,"treasures" ;77 12
.FSTR FSTR?74,"only " ;75 26
.FSTR FSTR?75,"east " ;75 26
.FSTR FSTR?76,"ladder " ;75 16
.FSTR FSTR?77,"begins " ;75 16
.FSTR FSTR?78,"A " ;74 75
.FSTR FSTR?79,"can " ;74 38
.FSTR FSTR?80,"room " ;72 25
.FSTR FSTR?81,"like " ;72 25
.FSTR FSTR?82,"under " ;72 19
.FSTR FSTR?83,"right " ;72 19
.FSTR FSTR?84,"front " ;72 19
.FSTR FSTR?85,"you're " ;72 13
.FSTR FSTR?86,"chimney " ;72 13
.FSTR FSTR?87,"Hollywood " ;72 9
.FSTR FSTR?88,"south" ;69 24
.FSTR FSTR?89,"as " ;68 69
.FSTR FSTR?90,"not " ;68 35
.FSTR FSTR?91,"where " ;68 18
.FSTR FSTR?92,"there " ;68 18
.FSTR FSTR?93,"south " ;68 18
.FSTR FSTR?94,"find " ;66 23
.FSTR FSTR?95,"didn't " ;66 12
.FSTR FSTR?96,"pieces " ;65 14
;word frequency table of 96 most common words
WORDS:: .TABLE
FSTR?1
FSTR?2
FSTR?3
FSTR?4
FSTR?5
FSTR?6
FSTR?7
FSTR?8
FSTR?9
FSTR?10
FSTR?11
FSTR?12
FSTR?13
FSTR?14
FSTR?15
FSTR?16
FSTR?17
FSTR?18
FSTR?19
FSTR?20
FSTR?21
FSTR?22
FSTR?23
FSTR?24
FSTR?25
FSTR?26
FSTR?27
FSTR?28
FSTR?29
FSTR?30
FSTR?31
FSTR?32
FSTR?33
FSTR?34
FSTR?35
FSTR?36
FSTR?37
FSTR?38
FSTR?39
FSTR?40
FSTR?41
FSTR?42
FSTR?43
FSTR?44
FSTR?45
FSTR?46
FSTR?47
FSTR?48
FSTR?49
FSTR?50
FSTR?51
FSTR?52
FSTR?53
FSTR?54
FSTR?55
FSTR?56
FSTR?57
FSTR?58
FSTR?59
FSTR?60
FSTR?61
FSTR?62
FSTR?63
FSTR?64
FSTR?65
FSTR?66
FSTR?67
FSTR?68
FSTR?69
FSTR?70
FSTR?71
FSTR?72
FSTR?73
FSTR?74
FSTR?75
FSTR?76
FSTR?77
FSTR?78
FSTR?79
FSTR?80
FSTR?81
FSTR?82
FSTR?83
FSTR?84
FSTR?85
FSTR?86
FSTR?87
FSTR?88
FSTR?89
FSTR?90
FSTR?91
FSTR?92
FSTR?93
FSTR?94
FSTR?95
FSTR?96
.ENDT
.ENDI

175
anthillpur.zap Normal file
View File

@ -0,0 +1,175 @@
; PURE TABLES ARE DEFINED HERE
PURTBL::
PT?1:: .TABLE
STR?3
STR?4
.ENDT
PT?2:: .TABLE
STR?5
STR?6
.ENDT
PT?3:: .TABLE
STR?7
STR?8
.ENDT
PT?4:: .TABLE
STR?9
STR?4
.ENDT
PT?5:: .TABLE
3
W?ROOM
W?SCREEN
SCREENING-ROOM-PSEUDO-F
.ENDT
PT?6:: .TABLE
3
W?CASTERS
W?PIANO
CASTERS-PSEUDO
.ENDT
PT?7::
PT?8:: .TABLE
6
W?BEAM
W?WOODEN
BEAM-PSEUDO
W?BEAM
W?THICK
BEAM-PSEUDO
.ENDT
PT?9:: .TABLE
3
W?CELLAR
0
CELLAR-PSEUDO
.ENDT
PT?10:: .TABLE
6
W?BATH
0
BATH-PSEUDO
W?SHOWER
0
BATH-PSEUDO
.ENDT
PT?11:: .TABLE
3
W?PULLEY
0
PULLEY-PSEUDO
.ENDT
PT?12:: .TABLE
3
W?ROSE
W?COMPASS
COMPASS-ROSE-PSEUDO
.ENDT
PT?13::
PT?16:: .TABLE
9
W?TREES
0
FLORAL-PSEUDO
W?TREE
0
FLORAL-PSEUDO
W?FLOWER
0
FLORAL-PSEUDO
.ENDT
PT?14:: .TABLE
18
W?BUSH
W?ROSE
ROSE-BUSH-PSEUDO
W?ROSE
0
ROSE-BUSH-PSEUDO
W?ROSES
0
FLORAL-PSEUDO
W?TREES
0
FLORAL-PSEUDO
W?TREE
0
FLORAL-PSEUDO
W?FLOWER
0
FLORAL-PSEUDO
.ENDT
PT?15:: .TABLE
15
W?TULIP
0
FLORAL-PSEUDO
W?TULIPS
0
FLORAL-PSEUDO
W?TREES
0
FLORAL-PSEUDO
W?TREE
0
FLORAL-PSEUDO
W?FLOWER
0
FLORAL-PSEUDO
.ENDT
PT?17:: .TABLE
3
W?CLIFF
0
CLIFF-PSEUDO
.ENDT
PT?18:: .TABLE
3
W?HOLE
0
CLOSET-HOLE-PSEUDO
.ENDT
PT?19:: .TABLE
18
W?PARK
W?CENTRAL
PARK-PSEUDO
W?DOME
W?PLASTIC
DOME-PSEUDO
W?TRUCK
W?TINY
TRUCK-PSEUDO
W?ROCKET
0
ROCKET-PSEUDO
W?HOLE
0
DOME-HOLE-PSEUDO
W?SPOT
W?MELTED
DOME-HOLE-PSEUDO
.ENDT
PURTND::
.ENDI

281
anthillstr.zap Normal file
View File

@ -0,0 +1,281 @@
; STRINGS ARE DEFINED HERE
STRBEG::
.GSTR STR?1,"You've earned an 'R' rating."
.GSTR STR?2,"You can almost feel Aunt Hildegarde washing out your mouth with soap."
.GSTR STR?3,"This story doesn't know the word """
.GSTR STR?4,"."""
.GSTR STR?5,"Sorry, but the word """
.GSTR STR?6,""" is not in the vocabulary you can use."
.GSTR STR?7,"You don't need to use the word """
.GSTR STR?8,""" to finish this story."
.GSTR STR?9,"Sorry, but this story doesn't recognize the word """
.GSTR STR?10,"any verbs"
.GSTR STR?11,"enough nouns"
.GSTR STR?12,"You can see"
.GSTR STR?13,"F"
.GSTR STR?14,"L"
.GSTR STR?15,"[Presumably, you mean"
.GSTR STR?16," isn't likely"
.GSTR STR?17," seems doubtful"
.GSTR STR?18," seems unlikely"
.GSTR STR?19,"'s unlikely"
.GSTR STR?20,"'s not likely"
.GSTR STR?21,"'s doubtful"
.GSTR STR?22,"It's too heavy. Maybe if you'd eaten your spinach as Aunt Hildegarde told you."
.GSTR STR?23,"open"
.GSTR STR?24,"closed"
.GSTR STR?25,"would respond"
.GSTR STR?26,"Biting"
.GSTR STR?27,"Blowing"
.GSTR STR?28,"You can't be serious."
.GSTR STR?29,"Don't be silly."
.GSTR STR?30,"This isn't a scene from Uncle Buddy's movie ""Pyromaniac.""
"
.GSTR STR?31,"would buy that"
.GSTR STR?32,"janitor"
.GSTR STR?33,"surgeon"
.GSTR STR?34,"could cut anything"
.GSTR STR?35,"would agree with you"
.GSTR STR?36,"wear"
.GSTR STR?37,"unusual"
.GSTR STR?38,"interesting"
.GSTR STR?39,"extraordinary"
.GSTR STR?40,"special"
.GSTR STR?41,"doesn't do anything"
.GSTR STR?42,"accomplishes nothing"
.GSTR STR?43,"has no effect"
.GSTR STR?44,"Kicking"
.GSTR STR?45,"Okay, "
.GSTR STR?46,"ff"
.GSTR STR?47,"on"
.GSTR STR?48,"n"
.GSTR STR?49,"You can't "
.GSTR STR?50,"squeaks"
.GSTR STR?51,"squeals"
.GSTR STR?52,"whines"
.GSTR STR?53,"creaks"
.GSTR STR?54,"whinnies"
.GSTR STR?55,"breaks into its nightclub act"
.GSTR STR?56,"locksmith"
.GSTR STR?57,"Pulling on"
.GSTR STR?58,"Pushing around"
.GSTR STR?59,"Pushing down"
.GSTR STR?60,"Pushing up"
.GSTR STR?61,"Toying in this way with"
.GSTR STR?62,"read"
.GSTR STR?63,"would appreciate your reading"
.GSTR STR?64,"is interested"
.GSTR STR?65,"wants to play piggyback"
.GSTR STR?66,"Fiddling with"
.GSTR STR?67,"begin"
.GSTR STR?68,"end"
.GSTR STR?69,"Shaking"
.GSTR STR?70,"You wouldn't even be able to dog paddle wearing a pair of skis."
.GSTR STR?71,"You'd better take the bucket off the peg first.
"
.GSTR STR?72,"Turning"
.GSTR STR?73,"walk to"
.GSTR STR?74,"That's not in the script"
.GSTR STR?75,"That would be a waste of time"
.GSTR STR?76,"That would be a pointless thing to do"
.GSTR STR?77,"That would be useless effort"
.GSTR STR?78,"six-foot long "
.GSTR STR?79," quickly realize why ""A Corpse Line"" could never be released: From the back of a large theatre the camera slowly pans in. The camera moves forward and you are able to make out a dozen or more figures lying side-by-side on the stage in glittering top hats. Then the music starts and the figures rise to their feet. The camera is now close enough to see more detail. The figures are corpses, some badly decayed, clad in top hats. They begin to dance in unison as the music swells. For a moment you forget they are corpses and begin to enjoy their mastery of the art.
Then the horror begins, just as it must have for Uncle Buddy. The line does a kick, and several legs fly into the audience. You feel your heart pounding as never before. The corpses, gripping each other's shoulders, turn at the same time and a half-dozen arms are pulled from their sockets. You can't seem to catch your breath. It's as if a pile of bricks were stacked on your chest. As the number ends, the corpses (what's left of them) remove their hats to take a bow. The camera moves in close as they bend over and you see the tops of their heads have been removed. You begin to shake uncontrollably, then you feel what seems like an explosion in your chest. The last thing you see is the corpses' brains plop onto the stage as they take their bow. You collapse."
.GSTR STR?80," with a lens"
.GSTR STR?81,"filled with white light"
.GSTR STR?82,"filled with bits and pieces of colored words"
.GSTR STR?83,"filled with washed-out bits of colored words"
.GSTR STR?84,"The lens is firmly attached to the projector."
.GSTR STR?85,"This cramped area is just big enough for one person and all the equipment. A thick glass window overlooks the screening room to the north."
.GSTR STR?86,"Yesterday"
.GSTR STR?87,"Greensleeves"
.GSTR STR?88,"Camelot"
.GSTR STR?89,"Stardust"
.GSTR STR?90,"Misty"
.GSTR STR?91,"People"
.GSTR STR?92,"Feelings"
.GSTR STR?93,"Tomorrow"
.GSTR STR?94,"Tonight"
.GSTR STR?95,"Oklahoma"
.GSTR STR?96,"This is the screening room where Uncle Buddy died. He had a massive heart attack while viewing the final cut of his first horror musical, ""A Corpse Line."" The film was never released and no one knows what happened to the only full-length version, worth a fortune today. Rumor has it that as he was dying he proclaimed ""A Corpse Line"" to be his masterwork of horror. Other rumors say the film was so bad that, if it had been released and he hadn't died, someone would have killed him. Several rows of plush theatre-like seats face a movie screen. Doorways lead south and west."
.GSTR STR?97,"south"
.GSTR STR?98,"This is a small passage which ends here. It looks as if the construction of this room was never completed."
.GSTR STR?99,"north"
.GSTR STR?100,"Somewhere in the house you hear the thud of something falling on the floor."
.GSTR STR?101,"You hear the eerie whistling of wind coming down the chimney."
.GSTR STR?102,"Somewhere in the house you hear the creaking of floorboards."
.GSTR STR?103,"You can hear dogs howling in the distance."
.GSTR STR?104,"Somewhere nearby several of Morgan Fairchild's cats begin crying."
.GSTR STR?105,"From the ocean there is the distant ringing of warning buoys."
.GSTR STR?106,"Shadows pour over you as grey clouds sweep past the night's full moon."
.GSTR STR?107,"
Cellar
Cannon | Crawl Space North
Emplacement | /
____|___/
| |
Boat Dock ----| Work |----Heart of Maze
| Room |
|_______|
/ | .
/ | .
Attic Upstairs Bomb Shelter
Hall Middle
"
.GSTR STR?108,"turned that way"
.GSTR STR?109,"You can't feed data to a computer that isn't turned on!
"
.GSTR STR?110,"
For fast service, call
ROY G. BIV
COMPUTER SERVICE & REPAIR
576-1851"
.GSTR STR?111,"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
.GSTR STR?112,"OOOO OOOO O OOOO O OOOO OOOO"
.GSTR STR?113,"O O O O O O O O O"
.GSTR STR?114,"OOOO O OOOO OOO OOOO O OOOO O O"
.GSTR STR?115," O O O O O O O O O"
.GSTR STR?116,"OOOO O OOOO OOOO O O OOOO"
.GSTR STR?117,"This is the living room where Uncle Buddy and Aunt Hildegarde used to spend their evenings. Most of the west wall is covered by a grand stone fireplace with a mantle over it. A long sofa, several cushy chairs and a telephone fill the room. Most of the hardwood floor is covered by a monstrous Persian rug. A doorway leads north and an archway exits to the east."
.GSTR STR?118,"If you want to go in the fireplace, say so."
.GSTR STR?119,"ankle"
.GSTR STR?120,"shins"
.GSTR STR?121,"knees"
.GSTR STR?122,"thighs"
.GSTR STR?123,"waist"
.GSTR STR?124,"stomach"
.GSTR STR?125,"chest"
.GSTR STR?126,"shoulders"
.GSTR STR?127,"forehead"
.GSTR STR?128,"There is a hole in the fireplace about waist high here."
.GSTR STR?129,"You're in the chimney, above the fireplace. You can see a couple of holes here in the chimney where bricks used to be. The chimney continues upward and the fireplace is below."
.GSTR STR?130,"You're inside the chimney. You can see a couple of holes here in the chimney where bricks used to be. The chimney continues upward and downward."
.GSTR STR?131,"You're standing in the chimney. There are a couple of holes here in the chimney where bricks used to be. This chimney doesn't lead any further down, only up."
.GSTR STR?132,"You're doing your best to keep your balance here on the roof. During a fierce storm you can see Linda Ronstadt's house wash into the ocean from here. A chimney juts up from the roof here and there is another chimney to the east, near the end of the roof."
.GSTR STR?133,"You'd fall off the roof!"
.GSTR STR?134,"This is the east end of the roof. A chimney juts up from the roof here and there is another chimney off to the west, near the end of the roof."
.GSTR STR?135,"This is Aunt Hildegarde's kitchen. It is a fairly large, sterile area with several pieces of commercial-grade equipment to handle the vast amount of food needed for Hollywood parties. It is not exactly the kind of homey kitchen most people's aunts have. The whole family remembers the Christmas everyone received fruit cakes with serial numbers on them. A doorway leads to the east and stairs lead down from here."
.GSTR STR?136,"This is the dining room with a long, walnut table and seating for twelve. You remember more than one evening falling asleep at the table while Uncle Buddy rambled on about the way Hollywood used to be. A large picture window looks out on the garden. Doorways lead east, west and south."
.GSTR STR?137,"Maltese finch"
.GSTR STR?138,"pieces of the Maltese finch"
.GSTR STR?139,"This is Aunt Hildegarde and Uncle Buddy's bedroom. There is a thick, round bed here, typical of Uncle Buddy trying to be a Hollywood type. Next to the bed is a chair and a phone. A doorway leads south."
.GSTR STR?140,"This is a spare bedroom where guests would stay if they couldn't drive home after one of the parties. The bed is big and fluffy and all the furniture is padded well. Uncle Buddy put two brass handles on the floor so guests would have something to hang onto when the room began to spin. A doorway leads north."
.GSTR STR?141,"It's a copy of Infocom's newsletter ""The Status Line"" (formerly ""The New Zork Times""). It's addressed to Aunt Hildegarde and features a story about a game called ""Hollywood Hijinx."" In the article, author ""Hollywood"" Dave Anderson thanks his fellow imps for their enormous help and patience."
.GSTR STR?142,"You ski down the stairs then snowplow to a stop in the..."
.GSTR STR?143,"Believe it or not, Aunt Hildegarde paid a lot of money for a professional to decorate this house. Let's leave the furniture arrangement to professionals."
.GSTR STR?144,"hours"
.GSTR STR?145,"hour"
.GSTR STR?146,"minutes"
.GSTR STR?147,"The lawyer seems to appear out of nowhere. "
.GSTR STR?148,"one"
.GSTR STR?149,"two"
.GSTR STR?150,"three"
.GSTR STR?151,"four"
.GSTR STR?152,"five"
.GSTR STR?153,"six"
.GSTR STR?154,"seven"
.GSTR STR?155,"eight"
.GSTR STR?156,"nine"
.GSTR STR?157,"Next to the sink is a matchbox."
.GSTR STR?158,"Lying near the fire is a green match."
.GSTR STR?159,"If you want to swim, say so."
.GSTR STR?160,"You bump into the wall of the cave."
.GSTR STR?161,"You are swimming on the surface of the pool. The water sparkles, reflecting the light coming in from an opening to the north. To the east is a boat dock."
.GSTR STR?162,"You lose your footing and plunge back into the water."
.GSTR STR?163,"The walls are too steep to climb."
.GSTR STR?164,"As you swim underwater you can see faint light above you and darkness below."
.GSTR STR?165,"You feel a mild current flowing east. You have to grit your teeth to keep them from chattering in the cold water."
.GSTR STR?166,"You feel a current coming from above and flowing east through the passage."
.GSTR STR?167,"That's for you to figure out."
.GSTR STR?168,"Feeling the wall with your hands you find there's no way out in this direction."
.GSTR STR?169,"With your hands you feel the eastern wall of the cave. You can't get out to the east."
.GSTR STR?170,"The cave wall prevents any further westward movement."
.GSTR STR?171,"You're on a wet, narrow ledge in a dripping underground cave. There is a pool of blackness to the south and a tunnel leads north."
.GSTR STR?172,"Your soggy footsteps echo through the long, slimy corridor which runs up, towards a dry area, and south, toward dripping noises."
.GSTR STR?173,"down"
.GSTR STR?174,"in the air"
.GSTR STR?175,"burning"
.GSTR STR?176,". Unfortunately the hatch was closed. Your body crumples like an empty beer can at a frat party as you smash into the closed hatch. You black out as your body hits the ground with a plop!"
.GSTR STR?177,". Unfortunately you were standing on the left end of the plank."
.GSTR STR?178,"You're standing in front of the house where you spent many of your summers as a youngster. The old place is not as big as it seemed to you then, but it is still quite large. Stone pathways wind east and west around the house, and a larger main walkway leads north."
.GSTR STR?179,"It's a long way back to town."
.GSTR STR?180,"This is the southeastern corner of a large backyard whose main feature is an elaborate garden. The stone walkway splits in three directions here: north, along the perimeter of the garden; south, around the side of the house; and west, where the walkway ends at a couple of steps leading up."
.GSTR STR?181,"This is the southwestern corner of a large backyard whose main feature is an elaborate garden. The stone walkway splits in three directions here: north, along the perimeter of the garden; south, around the side of the house; and east, where the walkway ends at the foot of a couple of steps."
.GSTR STR?182,"You're standing on a stone walkway in Aunt Hildegarde's much envied garden where she would spend hours tending to her flowers, bushes and trees. The garden was off limits to you as a child because of an incident one summer when you and Cousin Herman were playing in the garden. You suggested pretending to be wild African animals and climbed a tree and began to screech as if a baboon while Cousin Herman ran off toward the roses shouting something about being a rhinoceros.
After howling until your throat felt like you had puffed on one of Uncle Buddy's Hollywood cigars, you went to find Cousin Herman. When you arrived you couldn't believe your eyes -- Cousin Herman had pulled all the thorns off of all of Aunt Hildegarde's rose bushes in a quest to find the biggest thorn possible so he could be a rhino. Of course when Aunt Hildegarde saw her naked rose bushes, Cousin Herman blamed it all on you. The walkway leads south, northeast and northwest."
.GSTR STR?183,"You bounce off a dwarf fig tree."
.GSTR STR?184,"You are in the overpoweringly fragrant rose bush section of the garden. As you admire the roses you notice one somewhat sickly rose bush. Something about the sight of this particular rose bush makes you feel a bit queasy. The stone walkway leads northwest and southwest."
.GSTR STR?185,"After a brief altercation with a large rose bush you turn back."
.GSTR STR?186,"You're standing on a stone walkway in the tulip section of the garden. The walkway leads northeast and southeast."
.GSTR STR?187,"You couldn't bear to step on the tulips."
.GSTR STR?188,"You are in the orchid section of the garden. Tender orchid petals of every color surround a small pond here. The stone walkway leads north, southeast and southwest."
.GSTR STR?189,", as it hits the water"
.GSTR STR?190,"In this corner of the backyard you can make out the enormous hedge, which is part of the estate's hedge maze. The stone walkway splits in three directions here: north, along the dark and towering hedge; south, past the fragrant and inviting garden; and east, where the walkway cuts a straight and narrow path between the hedge and the garden."
.GSTR STR?191,"In this corner of the backyard you can make out the enormous hedge, which is part of the estate's hedge maze. The stone walkway splits in three directions here: north, along the dark and towering hedge; south, past the fragrant and inviting garden; and west, where the walkway cuts a straight and narrow path between the hedge and the garden. A slightly worn path in the grass heads east."
.GSTR STR?192,"You ski down the steep path, unable to stop at the cliff. You sail off the cliff into the air, catching a very brief glimpse of Linda Ronstadt's beach house, then plummet to the rocks below."
.GSTR STR?193,"You jump off the cliff and fall to your death, just as you would expect from an Infocom story."
.GSTR STR?194,"There is an unusual ladder lying on the ground here."
.GSTR STR?195,"You're standing on the front porch of the house. Next to the front door is a regulation mailbox endorsed by Buck Palace. Beneath the mailbox is a doorbell once rung by Sonny Tufts. To the south is a walkway."
.GSTR STR?196,"love theme from ""Chainsaw Chop Suey"
.GSTR STR?197,"title song from ""10 1/2 Little Indians"
.GSTR STR?198,"song from ""It Came From the Neighbor's House"
.GSTR STR?199,"title track from ""Buddy Burbank's Three Minute Hollywood Workout"
.GSTR STR?200,"You slip the skis on, then slip off the roof."
.GSTR STR?201,"This is a rickety landing at the top of a long flight of old, wooden stairs leading down to the beach far below. You and Cousin Herman would race down these stairs in the summertime to see who would get to the water first. Usually Cousin Herman would trip you and win. A path in the grass leads west."
.GSTR STR?202,"You're about halfway down the steep staircase, which creaks under your weight. There are several steps missing here. It's quite a gap: probably more than you could jump across. On the other side of the gap, the stairs continue down. Climbing up the stairs returns to the landing."
.GSTR STR?203,"You step into the gap and plunge down onto the sharp rocks below."
.GSTR STR?204," plunge to the rocks below in a spectacular fall worthy of Hollywood's best stuntmen. Your body smashes onto the rocks. Too bad you didn't have a stunt double."
.GSTR STR?205,"You're about halfway up the steep stairs. There are several steps of the stairs missing here. It's quite a gap: probably more than you could jump across. On the other side of the gap stairs continue up. Climbing down the stairs returns to the beach."
.GSTR STR?206,"You step into the gap and plunge to the rocks below in a spectacular fall worthy of Hollywood's best stuntmen. Your body smashes onto the rocks. Too bad you didn't have a stunt double."
.GSTR STR?207,"This is the bottom landing. A rickety wooden walkway leads west. To the north is a sandy beach, and steep stairs lead up a rocky cliff."
.GSTR STR?208,"There's nothing interesting down on that part of the beach. Just a few nude beach parties."
.GSTR STR?209,"This is the end of a beach which stretches to the east. The fine white sand underfoot reflects the light. A slight breeze blows off the ocean to the north. A wooden landing is south of here, and an inlet lies west."
.GSTR STR?210,"Just as you start to enter the water you notice a buoy just offshore. A sign on it reads: Hawaii - 2,000 miles. You turn back."
.GSTR STR?211,"You stroll down the beach, declining several invitations to nude hot tub parties, then return to the end of the beach."
.GSTR STR?212,"You are swimming in a shallow inlet, whose waters are much calmer than in the open ocean to the north. A sandy beach lies to the east and the mouth of a dark cave gapes open to the south."
.GSTR STR?213,"Just as you start to swim out to sea you notice a buoy just offshore. A sign on it reads: Hawaii - 2,000 miles. You turn back."
.GSTR STR?214,"You start to go down, but feeling a strong undertow, you decide against it."
.GSTR STR?215,"Congratulations Pumpkin! You've found all the ""treasures."" Now come on down for a big surprise.
Aunt Hildegarde"
.GSTR STR?216,"
Before you can get out of the shaft, the closet descends, assuring you a closed-casket service."
.GSTR STR?217,"You step into a shaft and plunge down, slowing ever so slightly as your body crashes through the top of the closet then abruptly comes to a stop on the floor of the closet."
.GSTR STR?218,"about a foot from"
.GSTR STR?219,"slowly moving closer to"
.GSTR STR?220,"now only about half a foot from"
.GSTR STR?221,"slowly approaching"
.GSTR STR?222,"about three or four inches away from"
.GSTR STR?223,"less than an inch away from"
.GSTR STR?224,"This was your favorite room as a child. Each summer Uncle Buddy would have props and models from his various movies brought here for the amusement of his numerous guests. There is a scale model of downtown Tokyo here. Doorways lead south, east and west. There is a door to the north."
.GSTR STR?225,"tiny tanks"
.GSTR STR?226,"puny plane"
.GSTR STR?227,"puny planes"
.GSTR STR?228,"The Atomic Chihuahua's bulging eyes wince with pain as several rounds fire into its chest."
.GSTR STR?229,"As the gunfire strikes the Atomic Chihuahua, its heavy reptilian tail pounds the street's pavement angrily."
.GSTR STR?230,"As bullets pierce the dazed dog's scales he pauses momentarily, remembering his younger days with Xavier Cugat."
.GSTR STR?231,"The Atomic Chihuahua takes two rounds in the throat and gasps. (Two rounds to you and me, but that's 14 rounds to little scale-face!)"
.GSTR STR?232,"tiny tank"
.GSTR STR?233,"This is a short hall stretching east and west. Doorways lead north to the ladies' room and south to the men's room."
.GSTR STR?234,"men's"
.GSTR STR?235,"ladies'"
.GSTR STR?236,"This is the entrance to the hedge maze. Aunt Hildegarde told you never to go into the maze without the map, and of course you would go in anyway and she would have to come in and find you.
Guests were forever getting lost in the maze at parties. Sometimes you wished Cousin Herman would go in and never come out. But you always had the feeling he was thinking the same about you, only more seriously. Tall hedges, thick and green, stretch along paths leading to the east and west and a grass path north enters the maze. A stone walkway leads south."
.GSTR STR?237,"east"
.GSTR STR?238,"west"
.GSTR STR?239,"You are in a hedge maze of astonishing complexity. A path leads north."
.GSTR STR?240,"You walk face first into the hedge."
.GSTR STR?241,"You burrow furiously to no avail."
.GSTR STR?242,"A small shovel is lying amongst the flower beds."
.GSTR STR?243,"You walk right into a thick hedge"
.GSTR STR?244,"You march face first into a hedge"
.ENDI

937
bshelter.zap Normal file
View File

@ -0,0 +1,937 @@
.FUNCT MATCHBOX-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "You see a picture of Santa Claus in his sleigh. The sleigh is filled with computer games from Infocom, and the reindeer pulling it look strained."
?ELS5: EQUAL? PRSA,V?TAKE \FALSE
FCLEAR MATCHBOX,NDESCBIT
RFALSE
.FUNCT WAX-COAT-F
EQUAL? PRSA,V?SCRAPE-OFF \FALSE
EQUAL? PRSI,GREEN-MATCH,RED-MATCH \FALSE
FSET? PRSI,WAXED-BIT \FALSE
FCLEAR PRSI,WAXED-BIT
IN? PRSO,PRSI \?ELS13
REMOVE PRSO
JUMP ?CND8
?ELS13: REMOVE WAX-COAT-2
?CND8: PRINTI "You scrape the wax coating off"
CALL TRPRINT,PRSI
RSTACK
.FUNCT MATCH-F,WAXED
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTI "It's the wooden, self-lighting variety of match. The "
CALL DPRINT,PRSO
FSET? PRSO,WAXED-BIT \?ELS8
PRINTI " head is coated with a thin layer of wax"
JUMP ?CND6
?ELS8: FSET? PRSO,WETBIT \?ELS10
PRINTI " is wet"
JUMP ?CND6
?ELS10: PRINTI " is "
FSET? PRSO,ONBIT /?CND13
PRINTI "not "
?CND13: PRINTI "lit"
?CND6: PRINTR "."
?ELS5: EQUAL? PRSA,V?KILL,V?LAMP-ON \?ELS17
IN? PRSO,PLAYER /?ELS22
PRINTI "You're not holding"
CALL TRPRINT,PRSO
RSTACK
?ELS22: FSET? PRSO,FLAMEBIT \?ELS24
PRINTR "It's already lit."
?ELS24: GETP PRSO,P?MATCH-LIFE
ZERO? STACK \?ELS26
PRINTR "You can't. It's all used up."
?ELS26: FSET? PRSO,WETBIT \?ELS28
PRINTR "It's wet. It won't light now."
?ELS28: EQUAL? HERE,IN-POOL-1,IN-POOL-2,UNDERPASS-1 /?THN31
EQUAL? HERE,UNDERPASS-2 \?ELS30
?THN31: PRINTR "Not even Uncle Buddy's best special effects men could light a match under water!"
?ELS30: EQUAL? HERE,ON-POOL-1,ON-POOL-2,INLET \?ELS34
PRINTR "You'd better find some dry land first."
?ELS34: CALL QUEUE,I-MATCH-BURN,-1
FSET PRSO,ONBIT
IN? WAX-COAT-1,PRSO \?ELS39
REMOVE WAX-COAT-1
JUMP ?CND37
?ELS39: IN? WAX-COAT-2,PRSO \?CND37
REMOVE WAX-COAT-2
?CND37: FSET PRSO,FLAMEBIT
FSET? PRSO,WAXED-BIT \?ELS44
FCLEAR PRSO,WAXED-BIT
PRINTI "The wax coating melts away as you light"
CALL TRPRINT,PRSO
JUMP ?CND42
?ELS44: PRINTI "Okay,"
CALL TPRINT,PRSO
PRINTI " is now lit."
CRLF
?CND42: CALL NOW-LIT?
RTRUE
?ELS17: EQUAL? PRSA,V?LAMP-OFF \?ELS48
FSET? PRSO,ONBIT \?ELS53
CALL BLOW-OUT-MATCH,PRSO
RSTACK
?ELS53: PRINTR "It's not lit."
?ELS48: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
CALL CANT-OPEN-CLOSE
RSTACK
.FUNCT I-MATCH-BURN
FSET? RED-MATCH,ONBIT \?CND1
CALL MATCH-BURN,RED-MATCH
?CND1: FSET? GREEN-MATCH,ONBIT \FALSE
CALL MATCH-BURN,GREEN-MATCH
RSTACK
.FUNCT MATCH-BURN,OBJ
GETP OBJ,P?MATCH-LIFE
ZERO? STACK \?ELS5
CALL BLOW-OUT-MATCH,OBJ,TRUE-VALUE
RSTACK
?ELS5: GETP OBJ,P?MATCH-LIFE
SUB STACK,1
PUTP OBJ,P?MATCH-LIFE,STACK
RTRUE
.FUNCT BLOW-OUT-MATCH,OBJ,ADD-CR=0
FCLEAR OBJ,ONBIT
FCLEAR OBJ,FLAMEBIT
FSET? RED-MATCH,ONBIT /?CND1
FSET? GREEN-MATCH,ONBIT /?CND1
CALL DEQUEUE,I-MATCH-BURN
?CND1: CALL VISIBLE?,OBJ
ZERO? STACK /FALSE
ZERO? ADD-CR /?CND11
CRLF
?CND11: PRINTI "The "
CALL DPRINT,OBJ
PRINTI " goes out, turns to ashes, falls to the ground and disappears."
CRLF
CALL SAY-IF-NOT-LIT
REMOVE OBJ
RTRUE
.FUNCT BOAT-DOCK-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are in a large grotto standing on a boat dock. Moonlight trickling through the grotto's opening to the north reflects off the water, dimly illuminating this area. A wooden walkway leads north out of the grotto. A pool of sea water covers the bottom of the grotto."
RTRUE
.FUNCT PORTABLE-WATER-F
EQUAL? PRSA,V?ENTER,V?SWIM \?ELS5
CALL GLOBAL-IN?,WATER,HERE
ZERO? STACK /?ELS10
CALL PERFORM,PRSA,WATER
RTRUE
?ELS10: PRINTI "You'd never fit into"
LOC PORTABLE-WATER
CALL TPRINT,STACK
PRINTR "!"
?ELS5: EQUAL? PRSA,V?TASTE,V?DRINK-FROM,V?DRINK \?ELS14
CALL NOT-HOLDING-WATER?
ZERO? STACK \TRUE
PRINTR "You take a sip."
?ELS14: EQUAL? PRSA,V?EMPTY,V?DROP,V?THROW /?THN26
EQUAL? PRSA,V?POUR,V?PUT,V?PUT-ON \?ELS23
?THN26: EQUAL? PRSO,PORTABLE-WATER \?ELS23
CALL NOT-HOLDING-WATER?
ZERO? STACK \TRUE
REMOVE PORTABLE-WATER
FCLEAR PORTABLE-WATER,NDESCBIT
SET 'AMOUNT-OF-WATER,0
CALL DEQUEUE,I-DRIP
EQUAL? PRSA,V?EMPTY \?CND35
PRINTR "You pour the water out of the bucket."
?CND35: ZERO? PRSI /?ELS42
FSET PRSI,WETBIT
FSET? PRSI,FLAMEBIT \?CND44
FCLEAR PRSI,FLAMEBIT
FCLEAR PRSI,ONBIT
EQUAL? PRSI,RED-CANDLE \?ELS49
CALL STOP-RED-BURNING
JUMP ?CND47
?ELS49: EQUAL? PRSI,WHITE-CANDLE \?ELS51
CALL STOP-WHITE-BURNING
JUMP ?CND47
?ELS51: EQUAL? PRSI,BLUE-CANDLE \?ELS53
CALL STOP-BLUE-BURNING
JUMP ?CND47
?ELS53: EQUAL? PRSI,GREEN-MATCH,RED-MATCH \?CND47
CALL DEQUEUE,I-MATCH-BURN
?CND47: PRINTR "You douse the flame with water."
?CND44: PRINTR "You pour water over it, making a mess."
?ELS42: REMOVE PORTABLE-WATER
PRINTR "The water pours out, making a mess."
?ELS23: EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS59
EQUAL? PRSI,PORTABLE-WATER \?ELS59
IN? PORTABLE-WATER,BUCKET \?ELS59
CALL PERFORM,V?PUT,PRSO,BUCKET
RTRUE
?ELS59: EQUAL? PRSA,V?GIVE \?ELS63
EQUAL? PRSO,PORTABLE-WATER \?ELS63
FSET? PRSI,ACTORBIT \?ELS63
CALL PERFORM,V?POUR,PORTABLE-WATER
RTRUE
?ELS63: EQUAL? PRSA,V?EXAMINE,V?SEARCH,V?LOOK-INSIDE \FALSE
LOC PORTABLE-WATER
CALL PERFORM,PRSA,STACK
RTRUE
.FUNCT WATER-F
EQUAL? HERE,UPSTAIRS-BATHROOM,KITCHEN,LADIES-ROOM /?THN6
EQUAL? HERE,MENS-ROOM \?ELS5
?THN6: PRINTR "Hmmm. It seems the water has been turned off."
?ELS5: EQUAL? PRSA,V?DISEMBARK \?ELS9
CALL DO-WALK,P?OUT
RTRUE
?ELS9: EQUAL? PRSA,V?ENTER,V?SWIM \?ELS11
EQUAL? HERE,NORTH-GARDEN \?ELS14
PRINTR "The pond's too shallow for swimming."
?ELS14: FSET? SKIS,WORNBIT \?ELS16
PRINT DOG-PADDLE
CRLF
RTRUE
?ELS16: CALL ULTIMATELY-IN?,LADDER
ZERO? STACK /?ELS18
PRINTI "You won't be able to swim carrying"
CALL TRPRINT,LADDER
RTRUE
?ELS18: EQUAL? HERE,INLET,ON-POOL-1,IN-POOL-1 /?THN21
EQUAL? HERE,UNDERPASS-1,UNDERPASS-2,IN-POOL-2 /?THN21
EQUAL? HERE,ON-POOL-2 \?CND12
?THN21: PRINTR "You swim a few yards."
?CND12: CALL ALL-WET,PLAYER
PRINTI "As you enter the chilly water, goose bumps cover your body and your teeth chatter a bit."
CRLF
CRLF
IN? BUCKET,PLAYER \?CND23
MOVE PORTABLE-WATER,BUCKET
CALL QUEUE,I-DRIP,1
?CND23: EQUAL? HERE,BOAT-DOCK \?ELS28
CALL GOTO,ON-POOL-1
JUMP ?CND26
?ELS28: EQUAL? HERE,LEDGE \?ELS30
CALL GOTO,ON-POOL-2
JUMP ?CND26
?ELS30: CALL GOTO,INLET
?CND26: CALL ULTIMATELY-IN?,FLASHLIGHT
ZERO? STACK /?CND33
FSET? FLASHLIGHT,ONBIT \?CND33
FCLEAR FLASHLIGHT,ONBIT
CRLF
PRINTI "Oops! Your flashlight went out. The water ruined it."
CRLF
?CND33: CALL ULTIMATELY-IN?,RED-CANDLE
ZERO? STACK /?CND38
FSET? RED-CANDLE,ONBIT \?CND38
CALL BLOW-OUT-CANDLE,RED-CANDLE
?CND38: CALL ULTIMATELY-IN?,WHITE-CANDLE
ZERO? STACK /?CND43
FSET? WHITE-CANDLE,ONBIT \?CND43
CALL BLOW-OUT-CANDLE,WHITE-CANDLE
?CND43: CALL ULTIMATELY-IN?,BLUE-CANDLE
ZERO? STACK /?CND48
FSET? BLUE-CANDLE,ONBIT \?CND48
CALL BLOW-OUT-CANDLE,BLUE-CANDLE
?CND48: CALL ULTIMATELY-IN?,GREEN-MATCH
ZERO? STACK /?CND53
FSET? GREEN-MATCH,FLAMEBIT \?CND53
CALL ULTIMATELY-IN?,RED-MATCH
ZERO? STACK /?CND53
FSET? RED-MATCH,FLAMEBIT \?CND53
FCLEAR RED-MATCH,ONBIT
FCLEAR RED-MATCH,FLAMEBIT
REMOVE RED-MATCH
FCLEAR GREEN-MATCH,ONBIT
FCLEAR GREEN-MATCH,FLAMEBIT
REMOVE GREEN-MATCH
PRINTI "You drop the lit "
CALL DPRINT,GREEN-MATCH
PRINTI " and the lit "
CALL DPRINT,RED-MATCH
PRINTC 46
CRLF
?CND53: CALL ULTIMATELY-IN?,RED-MATCH
ZERO? STACK /?CND58
FSET? RED-MATCH,FLAMEBIT \?CND58
FCLEAR RED-MATCH,ONBIT
FCLEAR RED-MATCH,FLAMEBIT
REMOVE RED-MATCH
PRINTI "You drop the lit "
CALL DPRINT,RED-MATCH
PRINTC 46
CRLF
?CND58: CALL ULTIMATELY-IN?,GREEN-MATCH
ZERO? STACK /TRUE
FSET? GREEN-MATCH,FLAMEBIT \TRUE
FCLEAR GREEN-MATCH,ONBIT
FCLEAR GREEN-MATCH,FLAMEBIT
REMOVE GREEN-MATCH
PRINTI "You drop the lit "
CALL DPRINT,GREEN-MATCH
PRINTR "."
?ELS11: EQUAL? PRSA,V?TAKE \?ELS69
EQUAL? PRSO,WATER \?ELS69
IN? BUCKET,PLAYER \?ELS69
CALL PERFORM,V?FILL,BUCKET,WATER
RTRUE
?ELS69: EQUAL? PRSA,V?PUT \?ELS73
EQUAL? PRSI,WATER \?ELS73
EQUAL? HERE,NORTH-GARDEN \?ELS80
CALL PERFORM,V?PUT,PRSO,POND
RTRUE
?ELS80: REMOVE PRSO
PRINTI "The "
CALL DPRINT,PRSO
PRINTR " disappears into the ocean water."
?ELS73: EQUAL? PRSA,V?LOOK-INSIDE \?ELS84
EQUAL? HERE,NORTH-GARDEN \?ELS89
CALL PERFORM,V?LOOK-INSIDE,POND
RTRUE
?ELS89: PRINTR "You see nothing unusual about sea water."
?ELS84: EQUAL? PRSA,V?DRINK \FALSE
EQUAL? PRSO,WATER \FALSE
PRINTR "You take a sip."
.FUNCT ALL-WET,THING,OBJ
FSET THING,WETBIT
FIRST? THING >OBJ /?KLU17
?KLU17:
?PRG1: ZERO? OBJ /?REP2
FSET OBJ,WETBIT
FIRST? OBJ \?CND6
CALL ALL-WET,OBJ
?CND6: NEXT? OBJ >OBJ /?PRG1
JUMP ?PRG1
?REP2: FSET? RED-MATCH,WAXED-BIT \?CND9
FCLEAR RED-MATCH,WETBIT
?CND9: FSET? GREEN-MATCH,WAXED-BIT \FALSE
FCLEAR GREEN-MATCH,WETBIT
RTRUE
.FUNCT TO-BOAT-DOCK
EQUAL? HERE,ON-POOL-1 \FALSE
PRINTI "You climb out of the pool and onto the boat dock. The night air makes you shiver."
CRLF
CRLF
RETURN BOAT-DOCK
.FUNCT UNDER-WATER-F
PRINTI "You take a deep breath then plunge down."
CRLF
CRLF
EQUAL? HERE,ON-POOL-1 \?ELS3
CALL GOTO,IN-POOL-1
JUMP ?CND1
?ELS3: CALL GOTO,IN-POOL-2
?CND1: SET 'BREATH,6
CALL QUEUE,I-BREATH,-1
RFALSE
.FUNCT I-BREATH
DEC 'BREATH
EQUAL? BREATH,3 \?ELS5
CRLF
PRINTR "You feel pressure building in your chest. You won't be able to hold your breath much longer."
?ELS5: EQUAL? BREATH,2 \?ELS7
CRLF
PRINTR "The pressure is increasing. Your feel as if your lungs are going to rupture!"
?ELS7: EQUAL? BREATH,1 \?ELS9
CRLF
PRINTR "You can't hold the air in your lungs any longer. You open your mouth and the air bursts out."
?ELS9: ZERO? BREATH \FALSE
CRLF
PRINTI "As you gasp for your next breath, you suck in a mouthful of cold sea water. You swim frantically a short distance then pass out. Later you awake to find yourself on the beach."
CRLF
CRLF
CALL GOTO,BEACH
RSTACK
.FUNCT OUT-OF-WATER-F
CALL DEQUEUE,I-BREATH
PRINTI "You come to the surface and catch your breath."
CRLF
CRLF
EQUAL? HERE,IN-POOL-1 \?ELS5
RETURN ON-POOL-1
?ELS5: EQUAL? HERE,IN-POOL-2 \FALSE
RETURN ON-POOL-2
.FUNCT TO-UNDERPASS-EAST
PRINTI "You swim east through a narrow, jagged passage."
CRLF
CRLF
RETURN UNDERPASS-1
.FUNCT TO-UNDERPASS-WEST
PRINTI "You swim west through a narrow, jagged passage."
CRLF
CRLF
RETURN UNDERPASS-2
.FUNCT IN-POOL-2-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are swimming underwater. In the darkness, you can't make out your surroundings here."
CALL LIT?,ON-POOL-2
ZERO? STACK /TRUE
PRINTI " However you do notice a faint light above you."
RTRUE
.FUNCT ON-POOL-2-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You are swimming on the surface of a pool "
CALL LIT?,HERE
ZERO? STACK /?ELS10
PRINTI "inside a small grotto. To the north is a small ledge."
RTRUE
?ELS10: PRINTI "in the dark. From the sound of your breathing you can tell this is a fairly small area."
RTRUE
.FUNCT BOMB-SHELTER-F,RARG
EQUAL? RARG,M-LOOK \?ELS5
PRINTI "With its concrete walls and floor this room looks as if it might be a bomb shelter. A heavy-duty sawhorse has"
CALL APRINT,PLANK
PRINTI " across it. "
FSET? BS-SAFE,ON-GROUND-BIT \?ELS8
PRINTI "A "
CALL DPRINT,BS-SAFE
PRINTI " is on"
CALL TPRINT,LEFT-END
JUMP ?CND6
?ELS8: PRINTI "Suspended above the left end of the plank by"
CALL APRINT,ROPE
EQUAL? ROPE-LIFE,1,2 \?CND11
PRINTI ", which is burning,"
?CND11: PRINTI " is"
CALL APRINT,BS-SAFE
PRINTI ". The rope stretches from the safe, through a pulley in the ceiling, to the floor where it is tied to a pipe running along the wall"
?CND6: PRINTI ". In the ceiling above"
CALL TPRINT,RIGHT-END
PRINTI " there is a"
FSET? HATCH,OPENBIT \?ELS16
PRINTI "n open"
JUMP ?CND14
?ELS16: PRINTI " closed"
?CND14: PRINTI " hatch. A long chain hangs down from"
CALL TPRINT,HATCH
PRINTI ". Just beneath"
CALL TPRINT,HATCH
PRINTI " there is a "
FSET? LADDER,HUNG-BIT \?CND19
CALL DPRINT,LADDER
PRINTI " hanging from a "
?CND19: PRINTI "pair of heavy-duty metal hooks protruding from the wall. There is a doorway leading south."
RTRUE
?ELS5: EQUAL? RARG,M-BEG \FALSE
EQUAL? PRSA,V?HANG-UP \FALSE
ZERO? PRSI \FALSE
CALL PERFORM,V?HANG-UP,PRSO,HOOKS
RTRUE
.FUNCT HATCH-F
EQUAL? PRSA,V?PUT \?ELS5
EQUAL? PRSI,HATCH \?ELS5
FSET? HATCH,OPENBIT \?ELS12
CALL PERFORM,V?PUT,PRSO,HATCH-HOLE
RTRUE
?ELS12: PRINTR "The hatch is closed!"
?ELS5: EQUAL? PRSA,V?OPEN \?ELS16
FSET? HATCH,OPENBIT /?ELS16
EQUAL? HERE,BOMB-SHELTER \?ELS23
PRINTR "That's for you to figure out."
?ELS23: PRINTR "There doesn't seem to be any way to open it from this side."
?ELS16: EQUAL? PRSA,V?EXAMINE \?ELS27
FSET? HATCH,OPENBIT \?ELS27
PRINTI "The "
CALL DPRINT,HATCH
PRINTR " is open, revealing a hole about the size of a manhole."
?ELS27: EQUAL? PRSA,V?CLOSE \?ELS31
FSET? HATCH,OPENBIT \?ELS31
EQUAL? HERE,BOMB-SHELTER \?ELS38
PRINTR "That's for you to figure out."
?ELS38: FCLEAR HATCH,OPENBIT
FSET HATCH-HOLE,INVISIBLE
PRINTR "With a show of strength which would make Aunt Hildegarde proud, you manage to close the heavy hatch."
?ELS31: EQUAL? PRSA,V?ENTER \FALSE
EQUAL? HERE,CLIFF \?ELS47
CALL DO-WALK,P?DOWN
RSTACK
?ELS47: CALL DO-WALK,P?UP
RSTACK
.FUNCT CHAIN-F
EQUAL? PRSA,V?CLIMB-UP,V?PULL \?ELS5
PRINTI "You pull on the "
CALL DPRINT,CHAIN
EQUAL? PRSA,V?CLIMB-UP \?CND6
PRINTI " as you attempt to climb"
?CND6: PRINTI " and"
CALL TPRINT,HATCH
FSET? HATCH,OPENBIT \?ELS11
PRINTI " drops, covering the"
FCLEAR HATCH,OPENBIT
FSET HATCH-HOLE,INVISIBLE
JUMP ?CND9
?ELS11: PRINTI " pops up, revealing a"
FSET HATCH,OPENBIT
FCLEAR HATCH-HOLE,INVISIBLE
?CND9: PRINTI " hole in the ceiling."
EQUAL? PRSA,V?CLIMB-UP \?CND14
PRINTI " The chain is too slippery to climb."
?CND14: CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS18
PRINTI "The "
CALL DPRINT,CHAIN
PRINTR " hangs down to about eye-level from the hatch above."
?ELS18: EQUAL? PRSA,V?TAKE \FALSE
PRINTR "You can't take the chain; it's attached to the hatch."
.FUNCT ENDS-F,RARG=0
EQUAL? RARG,M-BEG \?ELS5
CALL TOUCHING?,PRSO
ZERO? STACK /?ELS5
LOC PLAYER
CALL ULTIMATELY-IN?,PRSO,STACK
ZERO? STACK \?ELS5
PRINT YOU-CANT
PRINTI "reach it from here. You'll have to step off"
LOC PLAYER
CALL TPRINT,STACK
PRINTR " first."
?ELS5: ZERO? RARG \FALSE
EQUAL? PRSA,V?EXAMINE \?ELS12
PRINTI "The "
CALL DPRINT,PRSO
PRINTI " is "
EQUAL? PRSO,RIGHT-END \?ELS19
EQUAL? WHICH-END-IS-UP,RIGHT-END /?THN16
?ELS19: EQUAL? PRSO,LEFT-END \?ELS15
EQUAL? WHICH-END-IS-UP,LEFT-END \?ELS15
?THN16: PRINTI "in the air"
JUMP ?CND13
?ELS15: PRINTI "on the ground"
?CND13: PRINTR "."
?ELS12: EQUAL? PRSA,V?LOWER,V?PUSH-DOWN \?ELS25
ZERO? PRSI \?ELS25
EQUAL? PRSO,WHICH-END-IS-UP /?ELS32
CALL ITS-ALREADY,STR?173
RSTACK
?ELS32: FSET? BS-SAFE,ON-GROUND-BIT \?ELS34
PRINTR "It won't budge. The safe is on the other end. You should have eaten more carrots as Aunt Hildegarde told you to, instead of feeding them to the dog. It might have improved your eyesight."
?ELS34: LOC PLAYER
EQUAL? PRSO,STACK \?ELS36
PRINTI "How can you do that to"
CALL TPRINT,PRSO
PRINTR " when you're standing on it?"
?ELS36: EQUAL? PRSO,WHICH-END-IS-UP \?ELS38
IN? PLAYER,LEFT-END /?THN41
IN? PLAYER,RIGHT-END \?ELS38
?THN41: PRINTI "You can't lower"
CALL TPRINT,PRSO
PRINTI " when you're standing on"
LOC PLAYER
CALL TRPRINT,STACK
RSTACK
?ELS38: PRINTI "You push down the "
EQUAL? WHICH-END-IS-UP,RIGHT-END \?ELS47
SET 'WHICH-END-IS-UP,LEFT-END
PRINTI "right"
JUMP ?CND45
?ELS47: SET 'WHICH-END-IS-UP,RIGHT-END
PRINTI "left"
?CND45: PRINTR " end of the plank and the other end goes up."
?ELS25: EQUAL? PRSA,V?RAISE \?ELS51
ZERO? PRSI \?ELS51
EQUAL? PRSO,WHICH-END-IS-UP \?ELS58
CALL ITS-ALREADY,STR?174
RSTACK
?ELS58: LOC PLAYER
EQUAL? PRSO,STACK \?ELS60
PRINTI "How can you raise"
CALL TPRINT,PRSO
PRINTR " when you're standing on it?"
?ELS60: EQUAL? PRSO,LEFT-END \?ELS62
FSET? BS-SAFE,ON-GROUND-BIT \?ELS62
PRINTR "You can't raise the left end when the safe is on it."
?ELS62: PRINTI "You raise the "
EQUAL? WHICH-END-IS-UP,RIGHT-END \?ELS69
SET 'WHICH-END-IS-UP,LEFT-END
PRINTI "left"
JUMP ?CND67
?ELS69: SET 'WHICH-END-IS-UP,RIGHT-END
PRINTI "right"
?CND67: PRINTR " end of the plank and the other end goes down."
?ELS51: EQUAL? PRSA,V?CLIMB-ON,V?STAND-ON \?ELS73
EQUAL? WHICH-END-IS-UP,PRSO \?ELS78
CALL IN-AIR
RSTACK
?ELS78: FSET? BS-SAFE,ON-GROUND-BIT \?ELS80
PRINT YOU-CANT
PRINTI "do that. The "
CALL DPRINT,BS-SAFE
PRINTR " is already there."
?ELS80: FSET? SKIS,WORNBIT \?ELS82
PRINTI "You step onto"
CALL TPRINT,PLANK
PRINTR " but ski right off."
?ELS82: CALL PERFORM,V?BOARD,PRSO
RTRUE
?ELS73: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE
CALL SLIDES-OFF
RSTACK
.FUNCT IN-AIR
PRINTR "It's in the air. How can you stand on it?"
.FUNCT GENERIC-PLANK-F
EQUAL? PRSA,V?CLIMB-ON,V?STAND-ON /FALSE
RETURN PLANK
.FUNCT PLANK-F
EQUAL? PRSA,V?CLIMB-ON,V?STAND-ON \?ELS5
ZERO? LIT \?ELS5
CALL TOO-DARK
RSTACK
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
PRINTI "The "
CALL DPRINT,PLANK
PRINTI " is about 12 feet long and several inches thick. The right end of the plank is "
EQUAL? WHICH-END-IS-UP,RIGHT-END \?ELS12
PRINTI "in the air "
JUMP ?CND10
?ELS12: PRINTI "on the ground "
?CND10: PRINTI "and the left end is "
EQUAL? WHICH-END-IS-UP,RIGHT-END \?ELS17
PRINTI "on the ground"
FSET? BS-SAFE,ON-GROUND-BIT \?CND15
PRINTI " with"
CALL APRINT,BS-SAFE
PRINTI " sitting on it"
JUMP ?CND15
?ELS17: PRINTI "in the air"
?CND15: PRINTR "."
?ELS9: EQUAL? PRSA,V?DISEMBARK \?ELS24
IN? PLAYER,RIGHT-END /?THN27
IN? PLAYER,LEFT-END \?ELS24
?THN27: LOC PLAYER
CALL PERFORM,V?DISEMBARK,STACK
RTRUE
?ELS24: EQUAL? PRSA,V?PUSH-DOWN \?ELS30
ZERO? PRSI \?ELS30
CALL ENDS-F
RSTACK
?ELS30: EQUAL? PRSA,V?TAKE \?ELS34
PRINT SPINACH
CRLF
RTRUE
?ELS34: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE
CALL SLIDES-OFF
RSTACK
.FUNCT SLIDES-OFF
PRINTI "The "
CALL DPRINT,PRSO
PRINTI " slides off onto the ground."
CRLF
MOVE PRSO,HERE
RTRUE
.FUNCT PULLEY-PSEUDO
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "The pulley is firmly attached to the ceiling."
.FUNCT PIPE-F
EQUAL? PRSA,V?UNTIE \?ELS5
PRINTR "You can't even loosen the knot because of the weight of the safe."
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTI "The "
CALL DPRINT,PIPE
PRINTI " runs along a wall of the bomb shelter"
ZERO? ROPE-LIFE /?CND8
PRINTI ". There is a rope tied to it"
?CND8: PRINTR "."
.FUNCT BS-SAFE-F
EQUAL? PRSA,V?TURN-RIGHT,V?TURN-LEFT \?ELS5
EQUAL? PRSI,INTNUM \?ELS5
FSET? BS-SAFE,ON-GROUND-BIT /?ELS12
PRINTR "You can't reach the safe from here."
?ELS12: GRTR? P-NUMBER,10 \?ELS19
PRINTR "The dial only goes to 10."
?ELS19: SET 'BS-SAFE-DIAL-NUMBER,P-NUMBER
PRINTI "You turn the dial to "
PRINTN BS-SAFE-DIAL-NUMBER
PRINTC 46
FSET? BS-SAFE,OPENBIT /?ELS24
ZERO? STEPS-THROUGH-BS-SAFE \?ELS24
EQUAL? PRSA,V?TURN-LEFT \?ELS24
EQUAL? BS-SAFE-DIAL-NUMBER,4 \?ELS24
SET 'STEPS-THROUGH-BS-SAFE,1
JUMP ?CND22
?ELS24: FSET? BS-SAFE,OPENBIT /?ELS28
EQUAL? STEPS-THROUGH-BS-SAFE,1 \?ELS28
EQUAL? PRSA,V?TURN-RIGHT \?ELS28
EQUAL? BS-SAFE-DIAL-NUMBER,5 \?ELS28
SET 'STEPS-THROUGH-BS-SAFE,2
JUMP ?CND22
?ELS28: FSET? BS-SAFE,OPENBIT /?ELS32
EQUAL? STEPS-THROUGH-BS-SAFE,2 \?ELS32
EQUAL? PRSA,V?TURN-LEFT \?ELS32
EQUAL? BS-SAFE-DIAL-NUMBER,7 \?ELS32
SET 'STEPS-THROUGH-BS-SAFE,3
FCLEAR BS-SAFE,LOCKEDBIT
PRINTI " You hear a faint click."
JUMP ?CND22
?ELS32: SET 'STEPS-THROUGH-BS-SAFE,0
?CND22: CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?TURN-LEFT,V?TURN-RIGHT,V?TURN \?ELS38
FSET? BS-SAFE,ON-GROUND-BIT /?ELS43
PRINTR "You can't reach the safe from here."
?ELS43: EQUAL? PRSI,FALSE-VALUE,ROOMS \?ELS50
PRINTR "You didn't say what number you wanted to turn the dial to, or the direction."
?ELS50: EQUAL? PRSI,INTNUM \?ELS52
PRINTI "You didn't say whether you wanted to turn the dial RIGHT to "
PRINTN P-NUMBER
PRINTI " or LEFT to "
PRINTN P-NUMBER
PRINTR "."
?ELS52: PRINTR "Huh?"
?ELS38: EQUAL? PRSA,V?EXAMINE \?ELS56
PRINTI "The "
CALL DPRINT,BS-SAFE
PRINTI " is "
FSET? BS-SAFE,ON-GROUND-BIT \?ELS59
PRINTI "sitting on"
CALL TPRINT,LEFT-END
PRINTI ". There is a dial on the safe which can be set to any number between 0 and 10. The dial is set to "
PRINTN BS-SAFE-DIAL-NUMBER
JUMP ?CND57
?ELS59: PRINTI "suspended overhead by"
CALL APRINT,ROPE
?CND57: PRINTI ". There is a small plaque on the front of"
CALL TPRINT,BS-SAFE
PRINTI ". "
RFALSE
?ELS56: EQUAL? PRSA,V?CLOSE \FALSE
FSET? BS-SAFE,OPENBIT \FALSE
FSET BS-SAFE,LOCKEDBIT
RFALSE
.FUNCT PLAQUE-F
FSET? BS-SAFE,ON-GROUND-BIT /?ELS5
PRINTI "It's up too high. "
PRINT YOU-CANT
PRINTR "read it from here."
?ELS5: EQUAL? PRSA,V?READ \FALSE
CALL FIXED-FONT-ON
PRINTI " LEVY, REGAN, LEBLING
SAFE COMPANY
UPPER SANDUSKY, OHIO
1936"
CALL FIXED-FONT-OFF
RSTACK
.FUNCT CORPSE-LINE-F
EQUAL? PRSA,V?EXAMINE \?ELS5
IN? CORPSE-LINE,FILM-PROJECTOR \?ELS10
FSET? FILM-PROJECTOR,ONBIT \?ELS10
CALL PERFORM,V?EXAMINE,PROJECTION-SCREEN
RTRUE
?ELS10: PRINTR "It's a copy of the film ""A Corpse Line,"" on a large film reel."
?ELS5: EQUAL? PRSA,V?TAKE \?ELS16
IN? CORPSE-LINE,FILM-PROJECTOR \FALSE
FSET? FILM-PROJECTOR,ONBIT \FALSE
PRINTI "Even a nonunion projectionist like yourself should know how dangerous it is to try to take film from"
CALL APRINT,FILM-PROJECTOR
PRINTR " while it's running."
?ELS16: EQUAL? PRSA,V?PUT \?ELS25
FSET? FILM-PROJECTOR,ONBIT \?ELS25
EQUAL? PRSI,FILM-PROJECTOR \?ELS25
PRINTI "You start to put"
CALL TPRINT,CORPSE-LINE
PRINTI " in"
CALL TPRINT,FILM-PROJECTOR
PRINTI ", but glance up at a sign on the wall. The sign states: Remember, Perry Projectionist sez, ""Never try to put film in"
CALL APRINT,FILM-PROJECTOR
PRINTR " that's turned on."""
?ELS25: EQUAL? PRSA,V?SHOW \FALSE
PRINTR "It is a little more complicated than that."
.FUNCT RUBBER-STAMP-F
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "It's the large rubber stamp Buck Palace used to mail the POW's to the Pentagon in Uncle Buddy's ""Address Unknown."""
.FUNCT ROPE-F
EQUAL? PRSA,V?UNTIE,V?TIE,V?TAKE \?ELS5
EQUAL? ROPE-LIFE,1,2 \?ELS10
PRINTR "You'd burn your hand. It's on fire!"
?ELS10: PRINTI "You can't even loosen the knot because of the weight of"
CALL TRPRINT,BS-SAFE
RSTACK
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS14
EQUAL? ROPE-LIFE,2 \?ELS19
PRINTI "One end of"
CALL TPRINT,ROPE
PRINTI " is tied around"
CALL TPRINT,BS-SAFE
PRINTR " and the other end is tied to a pipe running along the wall."
?ELS19: EQUAL? ROPE-LIFE,1 \FALSE
PRINTI "The rope is burning and is tied to"
CALL TRPRINT,BS-SAFE
RSTACK
?ELS14: EQUAL? PRSA,V?PUT-UNDER \?ELS23
EQUAL? PRSO,WHITE-CANDLE,BLUE-CANDLE,RED-CANDLE \?ELS23
FSET? PRSO,FLAMEBIT \?ELS23
CALL PERFORM,V?BURN,ROPE,PRSO
RTRUE
?ELS23: EQUAL? PRSA,V?BURN \?ELS27
CALL SET-FLAME-SOURCE
ZERO? STACK \TRUE
FSET? PRSI,FLAMEBIT /?ELS34
PRINTR "Huh?"
?ELS34: LESS? ROPE-LIFE,3 \?ELS36
CALL ITS-ALREADY,STR?175
RSTACK
?ELS36: EQUAL? ROPE-LIFE,3 \FALSE
PRINTI "You touch the flame to the rope then pull it back. The rope catches fire and begins to burn."
CRLF
SET 'ROPE-LIFE,2
FSET ROPE,ONBIT
CALL QUEUE,I-ROPE-BURN,2
RSTACK
?ELS27: EQUAL? PRSA,V?PULL \?ELS40
FSET? BS-SAFE,ON-GROUND-BIT /?ELS40
PRINTI "You pull on"
CALL TPRINT,ROPE
PRINTR " but nothing happens."
?ELS40: EQUAL? PRSA,V?TIE \?ELS44
PRINT YOU-CANT
PRINTI " do that. The "
CALL DPRINT,ROPE
PRINTI " is already tied to"
CALL TRPRINT,BS-SAFE
RSTACK
?ELS44: EQUAL? PRSA,V?CLIMB-UP \FALSE
PRINTR "You climb the rope, almost reaching the safe, then lose your grip and drop to the ground."
.FUNCT I-ROPE-BURN
DEC 'ROPE-LIFE
ZERO? ROPE-LIFE \?ELS5
CRLF
CALL DEQUEUE,I-ROPE-BURN
CALL BURN-THROUGH-ROPE
RSTACK
?ELS5: CRLF
PRINTI "The "
CALL DPRINT,ROPE
PRINTI " continues to burn."
CRLF
CALL QUEUE,I-ROPE-BURN,-1
RTRUE
.FUNCT BURN-THROUGH-ROPE
EQUAL? HERE,TUNNEL /?THN4
EQUAL? HERE,LEDGE \?ELS3
?THN4: PRINTI "You hear a crash echo from the bomb shelter."
CRLF
JUMP ?CND1
?ELS3: EQUAL? HERE,BOMB-SHELTER \?CND1
PRINTI "As the flame burns through"
CALL TPRINT,ROPE
PRINTI " it snaps and"
CALL TPRINT,BS-SAFE
PRINTI " crashes down on"
CALL TPRINT,LEFT-END
LOC PLAYER
EQUAL? STACK,RIGHT-END \?ELS10
PRINTI ". The "
CALL DPRINT,RIGHT-END
PRINTI " catapults you up"
FSET? HATCH,OPENBIT \?ELS13
PRINTI " through the opening in the ceiling. The thrilling sensation of flying ends as you land on your feet on a cliff."
CRLF
CRLF
CALL GOTO,CLIFF
JUMP ?CND1
?ELS13: CALL JIGS-UP,STR?176
JUMP ?CND1
?ELS10: LOC PLAYER
EQUAL? STACK,LEFT-END \?ELS17
CALL JIGS-UP,STR?177
JUMP ?CND1
?ELS17: PRINTI ". The rope burns up and turns to ashes."
CRLF
?CND1: FSET BS-SAFE,ON-GROUND-BIT
SET 'ROPE-LIFE,0
FCLEAR ROPE,ONBIT
REMOVE ROPE
SET 'WHICH-END-IS-UP,RIGHT-END
RETURN WHICH-END-IS-UP
.FUNCT I-SUNRISE
FSET? HERE,OUTDOORSBIT /?THN6
GETP HERE,P?CAPACITY
EQUAL? STACK,20 \FALSE
?THN6: EQUAL? MOVES,547 \?ELS12
CALL QUEUE,I-SUNRISE,10
CALL DEQUEUE,I-NOISE
CRLF
PRINTR "The sun begins to rise over the colony."
?ELS12: EQUAL? MOVES,557 \FALSE
FSET GAME-ROOM,ONBIT
FSET SHORT-HALL,ONBIT
FSET OUTSIDE-PARLOR,ONBIT
FSET FOYER,ONBIT
FSET LIVING-ROOM,ONBIT
FSET KITCHEN,ONBIT
FSET DINING-ROOM,ONBIT
FSET BEDROOM-1,ONBIT
FSET BEDROOM-2,ONBIT
FSET BEDROOM-3,ONBIT
FSET UPSTAIRS-HALL-EAST,ONBIT
FSET UPSTAIRS-HALL-MIDDLE,ONBIT
FSET UPSTAIRS-HALL-WEST,ONBIT
CRLF
PRINTR "The sun rises in the sky, signalling a new day in Malibu."
.ENDI

1210
bshelter.zil Normal file

File diff suppressed because it is too large Load Diff

885
elevator.zap Normal file
View File

@ -0,0 +1,885 @@
.FUNCT CLOSET-HOLE-PSEUDO
EQUAL? PRSA,V?PUT \?ELS5
EQUAL? PRSO,PEG-0 \?ELS10
ADD SCORE,10 >SCORE
CALL ROB,PLAYER,HEART-OF-MAZE
FSET? RING,WORNBIT \?CND11
MOVE RING,PLAYER
?CND11: FSET? TOUPEE,WORNBIT \?CND14
MOVE TOUPEE,PLAYER
?CND14: FSET? MASK,WORNBIT \?CND17
MOVE MASK,PLAYER
?CND17: CALL DEQUEUE,I-SANDS-OF-TIME
CALL DEQUEUE,I-NOISE
CALL QUEUE,I-AUNT,2
PRINTI "You put"
CALL TPRINT,PEG-0
PRINTI " in the hole and the closet door slams shut. Without warning, the floor drops out from under you! You fall for several seconds then land with a bone-crunching thud, dropping everything you're holding. You slide down a twisting, slippery slide and are dumped into a room filled with props.
You look around the room and can't believe what your eyes are seeing. There is Aunt Hildegarde! She's tied to the conveyor belt of a whirling buzz saw and a man is standing over her. Aunt Hildegarde sees you and screams. The man turns and you immediately recognize your childhood nemesis: Cousin Herman."
CRLF
CRLF
CALL QUEUE,I-HERMAN-ATTACK,2
CALL GOTO,PROP-VAULT
RSTACK
?ELS10: PRINTI "The "
CALL DPRINT,PRSO
PRINTR " won't fit in the hole."
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
PRINTR "You see nothing but darkness."
.FUNCT CLOSET-F,RARG,DOOR
EQUAL? RARG,M-LOOK \FALSE
CALL WHICH-DOOR? >DOOR
PRINTI "You're in a small closet. Mounted at an angle on the back wall of the closet are three coat pegs. To the left of the first peg there is a hole the size of a peg. To the right of the third peg there is a peg which has been sawed-off, flush with the wall. The door to the north is "
FSET? DOOR,OPENBIT \?ELS8
PRINTI "open"
JUMP ?CND6
?ELS8: PRINTI "closed"
?CND6: PRINTC 46
RTRUE
.FUNCT PEG-5-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "It's what's left of a coat peg. It looks as if someone sawed off the peg."
?ELS5: EQUAL? PRSA,V?PULL \FALSE
PRINTR "There's nothing to pull -- it's sawed-off."
.FUNCT CLOSET-EXIT-F,DOOR
CALL WHICH-DOOR? >DOOR
FSET? DOOR,OPENBIT /?ELS5
CALL THIS-IS-IT,DOOR
CALL ITS-CLOSED,DOOR
RFALSE
?ELS5: EQUAL? CLOSET-FLOOR,CELLAR \?ELS7
RETURN CELLAR
?ELS7: EQUAL? CLOSET-FLOOR,FOYER \?ELS9
RETURN FOYER
?ELS9: RETURN UPSTAIRS-HALL-MIDDLE
.FUNCT WHICH-DOOR?
EQUAL? HERE,CLOSET \?ELS5
EQUAL? CLOSET-FLOOR,CELLAR \?ELS10
RETURN CELLAR-CD
?ELS10: EQUAL? CLOSET-FLOOR,FOYER \?ELS12
RETURN FOYER-CD
?ELS12: EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE \?ELS14
RETURN UPSTAIRS-CD
?ELS14: RETURN ATTIC-CD
?ELS5: EQUAL? CLOSET-FLOOR,CELLAR \?ELS23
RETURN FOYER-CD
?ELS23: EQUAL? CLOSET-FLOOR,FOYER \?ELS25
RETURN UPSTAIRS-CD
?ELS25: RETURN ATTIC-CD
.FUNCT PROP-VAULT-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a vault filled with props. You can see Aunt Hildegarde tied to a buzz saw. Cousin Herman is here, thinking of something rotten to do to you. To the east there is a chute."
RTRUE
.FUNCT CHUTE-F
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS5
PRINTR "The chute leads down into darkness."
?ELS5: EQUAL? PRSA,V?ENTER \?ELS7
CALL DO-WALK,P?DOWN
RSTACK
?ELS7: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,CHUTE \FALSE
REMOVE PRSO
PRINTI "You toss"
CALL TPRINT,PRSO
PRINTR " in the chute."
.FUNCT TO-CHUTE
ZERO? HERMAN-DOWN /?ELS5
PRINTI "Haven't you forgotten something?"
CRLF
RFALSE
?ELS5: PRINTI "Cousin Herman jumps in front of the chute then punches you in the stomach."
CRLF
RFALSE
.FUNCT CLOSET-REF-F
EQUAL? PRSA,V?SEARCH,V?ENTER,V?LOOK-INSIDE \?ELS5
EQUAL? HERE,CLOSET-TOP \?ELS5
PRINTR "You can't enter the closet from here."
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS9
EQUAL? HERE,CLOSET \?ELS9
CALL V-LOOK
RSTACK
?ELS9: EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE \?ELS13
EQUAL? HERE,CLOSET /?ELS13
EQUAL? CLOSET-FLOOR,HERE \?ELS20
PRINTR "You'll have to enter the closet first."
?ELS20: PRINTR "You see an empty shaft."
?ELS13: EQUAL? PRSA,V?SEARCH \?ELS24
CALL PERFORM,V?SEARCH,GLOBAL-ROOM
RTRUE
?ELS24: EQUAL? PRSA,V?OPEN \?ELS26
EQUAL? HERE,CLOSET \?ELS31
CALL WHICH-DOOR?
JUMP ?CND27
?ELS31: EQUAL? HERE,FOYER \?ELS33
PUSH FOYER-CD
JUMP ?CND27
?ELS33: EQUAL? HERE,UPSTAIRS-HALL-MIDDLE \?ELS35
PUSH UPSTAIRS-CD
JUMP ?CND27
?ELS35: EQUAL? HERE,CELLAR \?ELS37
PUSH CELLAR-CD
JUMP ?CND27
?ELS37: PUSH ATTIC-CD
?CND27: CALL PERFORM,V?OPEN,STACK
RTRUE
?ELS26: EQUAL? PRSA,V?CLOSE \?ELS41
EQUAL? HERE,CLOSET \?ELS46
CALL WHICH-DOOR?
JUMP ?CND42
?ELS46: EQUAL? HERE,FOYER \?ELS48
PUSH FOYER-CD
JUMP ?CND42
?ELS48: EQUAL? HERE,UPSTAIRS-HALL-MIDDLE \?ELS50
PUSH UPSTAIRS-CD
JUMP ?CND42
?ELS50: EQUAL? HERE,CELLAR \?ELS52
PUSH CELLAR-CD
JUMP ?CND42
?ELS52: PUSH ATTIC-CD
?CND42: CALL PERFORM,V?CLOSE,STACK
RTRUE
?ELS41: EQUAL? PRSA,V?EXIT,V?DISEMBARK \?ELS56
CALL DO-WALK,P?OUT
RSTACK
?ELS56: EQUAL? PRSA,V?ENTER \FALSE
EQUAL? HERE,CLOSET \?ELS63
PRINTR "Look around."
?ELS63: CALL DO-WALK,P?IN
RSTACK
.FUNCT PEGS-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "There are three pegs mounted at an angle to the wall. To the left of the first peg is a hole the size of a peg. To the right of the third peg you can see where a peg has been sawed-off, flush with the wall."
?ELS5: EQUAL? PRSA,V?PUSH,V?PULL,V?MOVE /?THN8
EQUAL? PRSA,V?PUSH-DOWN,V?LOWER \FALSE
?THN8: PRINTR "You try to pull down all three pegs at once. They won't budge, but the closet makes a grinding noise."
.FUNCT PEG-F
EQUAL? PRSA,V?PUSH,V?PULL,V?MOVE /?THN6
EQUAL? PRSA,V?PUSH-DOWN,V?LOWER \?ELS5
?THN6: EQUAL? PRSO,BUCKET-PEG \?ELS12
FSET? BUCKET,BUCKET-PEG-DOWN-BIT \?ELS12
PRINTI "The bucket is already holding"
CALL TPRINT,PRSO
PRINTR " down."
?ELS12: PRINTI "You pull the peg down to a horizontal position."
FSET? BUCKET,BUCKET-PEG-DOWN-BIT \?CND17
PRINTI " You hear a grinding noise."
?CND17: CRLF
CRLF
PRINTI "As you release the peg, it pops back into its original 45-degree position."
FSET? BUCKET,BUCKET-PEG-DOWN-BIT \?ELS24
CRLF
RTRUE
?ELS24: PRINTC 32
CALL ELEVATOR-OPERATOR,PRSO
RSTACK
?ELS5: EQUAL? PRSA,V?HANG-UP \?ELS28
EQUAL? PRSI,PEG-3,PEG-2,PEG-1 \?ELS28
EQUAL? PRSO,BUCKET /?ELS28
MOVE PRSO,HERE
PRINTI "The "
CALL DPRINT,PRSO
PRINTR " slips off and falls to the floor."
?ELS28: EQUAL? PRSA,V?EXAMINE \FALSE
FSET? BUCKET,BUCKET-PEG-DOWN-BIT \?ELS35
PRINTI "The "
CALL DPRINT,PRSO
PRINTI " is in a horizontal position with a bucket hanging on it."
JUMP ?CND33
?ELS35: EQUAL? PRSO,BUCKET-PEG \?ELS37
PRINTI "The "
CALL DPRINT,PRSO
PRINTI " is pointing up at an angle with a bucket hanging on it."
JUMP ?CND33
?ELS37: PRINTI "You see a worn coat peg mounted at an angle."
?CND33: CRLF
RTRUE
.FUNCT PEG-0-F
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "It's a worn coat peg."
.FUNCT ELEVATOR-OPERATOR,PEG
EQUAL? HERE,FOYER,CELLAR,UPSTAIRS-HALL-MIDDLE /?THN4
EQUAL? HERE,ATTIC,SHAFT-BOTTOM \?CND1
?THN4: PRINTI "The closet door swings shut by itself."
CRLF
?CND1: EQUAL? PEG,PEG-1 \?ELS12
EQUAL? CLOSET-FLOOR,CELLAR /?THN9
?ELS12: EQUAL? PEG,PEG-2 \?ELS14
EQUAL? CLOSET-FLOOR,FOYER /?THN9
?ELS14: EQUAL? PEG,PEG-3 \?ELS8
EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE \?ELS8
?THN9: EQUAL? HERE,CLOSET,CLOSET-TOP \?CND6
EQUAL? HERE,CLOSET \?ELS22
CALL WHICH-DOOR?
FSET? STACK,OPENBIT \?ELS25
PRINTI "The closet door swings shut and you"
JUMP ?CND20
?ELS25: PRINTI "You"
JUMP ?CND20
?ELS22: CALL WHICH-DOOR?
FSET? STACK,OPENBIT \?ELS32
PRINTI "The shaft door swings shut and you"
JUMP ?CND20
?ELS32: PRINTI "You"
?CND20: PRINTI " feel the closet"
EQUAL? HERE,CLOSET /?CND35
PRINTI " ceiling"
?CND35: PRINTI " vibrate, then stop."
CRLF
JUMP ?CND6
?ELS8: EQUAL? HERE,CLOSET,CLOSET-TOP \?ELS42
EQUAL? HERE,CLOSET /?CND43
CRLF
?CND43: PRINTI "The closet "
EQUAL? HERE,CLOSET-TOP \?CND46
PRINTI "ceiling "
?CND46: PRINTI "begins to shake and rattle a bit"
EQUAL? HERE,CLOSET,CLOSET-TOP \?CND49
CALL WHICH-DOOR?
FSET? STACK,OPENBIT \?CND49
PRINTI " as the door swings shut"
?CND49: PRINTI ". You feel your stomach "
EQUAL? PEG,PEG-3 \?ELS56
PRINTI "drop to your knees as the closet "
EQUAL? HERE,CLOSET /?ELS59
PRINTI "moves up. You enter the top of the shaft, then the closet stops."
CRLF
CRLF
CALL GOTO,CLOSET-TOP
JUMP ?CND6
?ELS59: PRINTI "moves up, then stops."
CRLF
JUMP ?CND6
?ELS56: EQUAL? PEG,PEG-2 \?ELS63
EQUAL? CLOSET-FLOOR,CELLAR \?ELS63
PRINTI "drop to your knees as the closet "
EQUAL? HERE,CLOSET /?CND66
PRINTI "floor "
?CND66: PRINTI "moves up, then stops."
CRLF
EQUAL? HERE,CLOSET /?CND6
CRLF
CALL GOTO,CLOSET-TOP
JUMP ?CND6
?ELS63: EQUAL? PEG,PEG-2 \?ELS73
EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE \?ELS73
PRINTI "rising to your throat as the closet "
EQUAL? HERE,CLOSET /?CND76
PRINTI "floor "
?CND76: PRINTI "moves down, then stops."
CRLF
EQUAL? HERE,CLOSET /?CND6
CRLF
CALL GOTO,CLOSET-TOP
JUMP ?CND6
?ELS73: PRINTI "rising to your throat as the closet "
EQUAL? HERE,CLOSET /?CND84
PRINTI "floor "
?CND84: PRINTI "moves down, then stops."
CRLF
EQUAL? HERE,CLOSET /?CND6
CRLF
CALL GOTO,CLOSET-TOP
JUMP ?CND6
?ELS42: EQUAL? HERE,SHAFT-BOTTOM \?CND6
EQUAL? PEG,PEG-1 \?CND6
CALL JIGS-UP,STR?216
?CND6: EQUAL? PEG,PEG-1 \?ELS96
SET 'CLOSET-FLOOR,CELLAR
JUMP ?CND94
?ELS96: EQUAL? PEG,PEG-2 \?ELS98
SET 'CLOSET-FLOOR,FOYER
JUMP ?CND94
?ELS98: SET 'CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE
?CND94: FCLEAR ATTIC-CD,OPENBIT
FCLEAR UPSTAIRS-CD,OPENBIT
FCLEAR FOYER-CD,OPENBIT
FCLEAR CELLAR-CD,OPENBIT
RTRUE
.FUNCT BUCKET-F,OARG=0,FULL?=0
IN? PORTABLE-WATER,BUCKET /?PRD1
PUSH 0
JUMP ?PRD2
?PRD1: PUSH 1
?PRD2: SET 'FULL?,STACK
ZERO? OARG /?ELS7
ZERO? BUCKET-PEG /FALSE
EQUAL? OARG,M-OBJDESC? /TRUE
CRLF
PRINTI "A "
PRINTD BUCKET
PRINTI " is hanging from"
CALL TPRINT,BUCKET-PEG
IN? PORTABLE-WATER,BUCKET \?CND18
PRINTI ". The bucket "
CALL DESCRIBE-WATER-LEVEL
?CND18: PRINTC 46
RTRUE
?ELS7: EQUAL? PRSA,V?HANG-UP,V?PUT-ON \?ELS24
EQUAL? PRSI,PEG-3,PEG-2,PEG-1 \?ELS24
SET 'BUCKET-PEG,PRSI
FSET BUCKET,TRYTAKEBIT
MOVE BUCKET,HERE
IN? PORTABLE-WATER,BUCKET \?CND27
FSET PORTABLE-WATER,NDESCBIT
?CND27: IN? PORTABLE-WATER,BUCKET \?ELS38
GRTR? AMOUNT-OF-WATER,10 /?THN35
?ELS38: CALL WEIGHT,BUCKET
GRTR? STACK,20 \?ELS34
?THN35: FSET BUCKET,BUCKET-PEG-DOWN-BIT
PRINTI "As you hang"
CALL TPRINT,BUCKET
PRINTI " on"
CALL TPRINT,PRSI
PRINTR ", the peg lowers to a horizontal position and you feel the closet begin to vibrate."
?ELS34: PRINTI "You hang"
CALL TPRINT,BUCKET
PRINTR " on the peg."
?ELS24: EQUAL? PRSA,V?TAKE \?ELS42
EQUAL? PRSO,BUCKET \?ELS42
FSET? BUCKET,TRYTAKEBIT \?ELS42
CALL ITAKE
ZERO? STACK /TRUE
FSET? BUCKET,WETBIT \?ELS51
FCLEAR BUCKET,WETBIT
MOVE PORTABLE-WATER,BUCKET
SET 'AMOUNT-OF-WATER,26
PRINTI "Taken."
CRLF
CALL QUEUE,I-DRIP,1
RSTACK
?ELS51: FSET? BUCKET,BUCKET-PEG-DOWN-BIT \?ELS53
FCLEAR BUCKET,TRYTAKEBIT
FCLEAR BUCKET,BUCKET-PEG-DOWN-BIT
FCLEAR PORTABLE-WATER,NDESCBIT
PRINTI "As you remove"
CALL TPRINT,BUCKET
PRINTC 44
CALL TPRINT,BUCKET-PEG
PRINTI " pops back into its original 45-degree position. "
CALL ELEVATOR-OPERATOR,BUCKET-PEG
SET 'BUCKET-PEG,FALSE-VALUE
RTRUE
?ELS53: FCLEAR BUCKET,TRYTAKEBIT
FCLEAR PORTABLE-WATER,NDESCBIT
SET 'BUCKET-PEG,FALSE-VALUE
PRINTR "Taken."
?ELS42: EQUAL? PRSA,V?EXAMINE,V?SEARCH,V?LOOK-INSIDE \?ELS57
PRINTI "It's an old metal bucket which is beginning to rust through on the bottom. It has a rusty handle and "
IN? PORTABLE-WATER,BUCKET \?ELS62
CALL DESCRIBE-WATER-LEVEL
PRINTR "."
?ELS62: FIRST? BUCKET \?ELS64
PRINTI "contains"
CALL DESCRIBE-NOTHING
ZERO? STACK \TRUE
RTRUE
?ELS64: PRINTR "it's empty."
?ELS57: ZERO? FULL? /?ELS71
EQUAL? PRSA,V?THROW \?ELS71
CALL PERFORM,V?DROP,PORTABLE-WATER
MOVE BUCKET,HERE
RTRUE
?ELS71: EQUAL? PRSA,V?STAND-ON \?ELS75
PRINTR "It wouldn't be a very elevating experience."
?ELS75: EQUAL? PRSA,V?DRINK-FROM,V?DRINK \?ELS77
ZERO? FULL? /?ELS82
CALL PERFORM,V?DRINK,WATER
RTRUE
?ELS82: CALL EMPTY-BUCKET
RSTACK
?ELS77: EQUAL? PRSA,V?EMPTY,V?POUR \?ELS87
ZERO? FULL? /?ELS92
CALL PERFORM,V?EMPTY,PORTABLE-WATER
RTRUE
?ELS92: CALL EMPTY-BUCKET
RSTACK
?ELS87: EQUAL? PRSA,V?PUT \?ELS97
EQUAL? PRSI,BUCKET \?ELS97
ZERO? BUCKET-PEG /?ELS104
PRINT PEG-IN-WAY
RTRUE
?ELS104: EQUAL? PRSO,WATER,PORTABLE-WATER \?ELS107
CALL PERFORM,V?FILL,BUCKET,WATER
RTRUE
?ELS107: ZERO? FULL? /FALSE
PRINTI "But"
CALL TPRINT,PRSO
PRINTR " would get all wet."
?ELS97: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
CALL CANT-OPEN-CLOSE
RSTACK
.FUNCT DESCRIBE-WATER-LEVEL
PRINTI "is "
GRTR? AMOUNT-OF-WATER,21 \?ELS3
PRINTI "full"
JUMP ?CND1
?ELS3: GRTR? AMOUNT-OF-WATER,13 \?ELS5
PRINTI "more than half full"
JUMP ?CND1
?ELS5: GRTR? AMOUNT-OF-WATER,11 \?ELS7
PRINTI "about half full"
JUMP ?CND1
?ELS7: GRTR? AMOUNT-OF-WATER,3 \?ELS9
PRINTI "less than half full"
JUMP ?CND1
?ELS9: PRINTI "nearly empty"
?CND1: PRINTI " of water"
RTRUE
.FUNCT I-DRIP
CALL QUEUE,I-DRIP,-1
DEC 'AMOUNT-OF-WATER
IN? BUCKET,POND /?THN8
IN? BUCKET,PLAYER \?ELS3
EQUAL? HERE,INLET,ON-POOL-1,IN-POOL-1 /?THN8
EQUAL? HERE,UNDERPASS-1,UNDERPASS-2,IN-POOL-2 /?THN8
EQUAL? HERE,ON-POOL-2 \?ELS3
?THN8: SET 'AMOUNT-OF-WATER,26
RFALSE
?ELS3: ZERO? AMOUNT-OF-WATER \?CND1
FCLEAR PORTABLE-WATER,NDESCBIT
REMOVE PORTABLE-WATER
CALL DEQUEUE,I-DRIP
?CND1: CALL VISIBLE?,BUCKET
ZERO? STACK /?CND12
ZERO? LIT /?CND12
CRLF
PRINTI "The water "
EQUAL? AMOUNT-OF-WATER,25 \?ELS19
PRINTI "begin"
JUMP ?CND17
?ELS19: PRINTI "continue"
?CND17: PRINTI "s to dribble out of"
CALL TPRINT,BUCKET
PRINTC 46
ZERO? AMOUNT-OF-WATER \?ELS24
PRINTI " The bucket is now pretty much empty."
JUMP ?CND22
?ELS24: EQUAL? AMOUNT-OF-WATER,6,12,18 \?CND22
PRINTI " The bucket is now around "
EQUAL? AMOUNT-OF-WATER,18 \?ELS29
PRINTI "three-quarters"
JUMP ?CND27
?ELS29: EQUAL? AMOUNT-OF-WATER,12 \?ELS31
PRINTI "half"
JUMP ?CND27
?ELS31: PRINTI "one-quarter"
?CND27: PRINTI " full."
?CND22: CRLF
?CND12: FSET? BUCKET,BUCKET-PEG-DOWN-BIT \?CND34
LESS? AMOUNT-OF-WATER,10 \?CND34
CALL VISIBLE?,BUCKET
ZERO? STACK /?CND39
PRINTI "Suddenly"
CALL TPRINT,BUCKET-PEG
PRINTI " pops back into its original 45-degree position. "
?CND39: CALL ELEVATOR-OPERATOR,BUCKET-PEG
FCLEAR BUCKET,BUCKET-PEG-DOWN-BIT
RTRUE
?CND34: CALL VISIBLE?,BUCKET
ZERO? STACK \TRUE
RFALSE
.FUNCT EMPTY-BUCKET,OBJ
FIRST? BUCKET >OBJ \?ELS5
EQUAL? PRSA,V?DRINK-FROM \?ELS10
CALL PERFORM,V?DRINK,OBJ
RTRUE
?ELS10: NEXT? OBJ \?ELS15
PRINTI "The contents of the "
CALL DPRINT,BUCKET
PRINTI " fall"
JUMP ?CND13
?ELS15: PRINTI "Okay,"
CALL TPRINT,OBJ
PRINTI " falls"
?CND13: CALL ROB,BUCKET,HERE
PRINTR " out of it."
?ELS5: PRINTR "It's empty."
.FUNCT NOT-HOLDING-WATER?
IN? PORTABLE-WATER,BUCKET /FALSE
PRINTR "You're not carrying any water."
.FUNCT SHAFT-BOTTOM-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You're standing at the bottom of a shaft. The door to the north is "
FSET? CELLAR-CD,OPENBIT \?ELS8
PRINTI "open"
JUMP ?CND6
?ELS8: PRINTI "closed"
?CND6: PRINTC 46
RTRUE
.FUNCT CLOSET-TOP-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "You're standing in a shaft on top of the closet. The door to the north is "
CALL WHICH-DOOR?
FSET? STACK,OPENBIT \?ELS8
PRINTI "open"
JUMP ?CND6
?ELS8: PRINTI "closed"
?CND6: PRINTC 46
RTRUE
.FUNCT CLOSET-TOP-EXIT,DOOR
CALL WHICH-DOOR? >DOOR
FSET? DOOR,OPENBIT /?ELS5
CALL THIS-IS-IT,DOOR
CALL ITS-CLOSED,DOOR
RFALSE
?ELS5: EQUAL? CLOSET-FLOOR,CELLAR \?ELS7
RETURN FOYER
?ELS7: EQUAL? CLOSET-FLOOR,FOYER \?ELS9
RETURN UPSTAIRS-HALL-MIDDLE
?ELS9: RETURN ATTIC
.FUNCT ATTIC-CD-F
EQUAL? PRSA,V?OPEN \FALSE
FSET? ATTIC-CD,OPENBIT /FALSE
EQUAL? CLOSET-FLOOR,ATTIC /FALSE
EQUAL? HERE,ATTIC \FALSE
CALL OPEN-DOOR-TO-SHAFT
FSET ATTIC-CD,OPENBIT
RTRUE
.FUNCT ATTIC-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a dusty old attic with cobwebs hanging from the ceiling rafters. The attic is empty except for"
CALL APRINT,TRUNK
FSET? ATTIC-DOOR,OPENBIT \?ELS8
PRINTI ". A ladder leads down through an opening"
JUMP ?CND6
?ELS8: PRINTI " and a folding ladder attached to a panel"
?CND6: PRINTI " in the floor. To the south there is a"
FSET? ATTIC-CD,OPENBIT \?ELS13
PRINTI "n open"
JUMP ?CND11
?ELS13: PRINTI " closed"
?CND11: PRINTI " door."
RTRUE
.FUNCT TO-&-FROM-ATTIC
FSET? ATTIC-DOOR,OPENBIT \?ELS5
FSET? SKIS,WORNBIT \?ELS10
PRINTI "You can't fit through the opening wearing the skis."
CRLF
RFALSE
?ELS10: EQUAL? HERE,ATTIC \?ELS17
RETURN UPSTAIRS-HALL-MIDDLE
?ELS17: RETURN ATTIC
?ELS5: PRINTI "The "
CALL DPRINT,ATTIC-DOOR
PRINTI " is closed."
CRLF
RFALSE
.FUNCT ATTIC-CLOSET-ENTER-F
FSET? ATTIC-CD,OPENBIT /?ELS5
CALL ITS-CLOSED,ATTIC-CD
RFALSE
?ELS5: EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE \?ELS7
RETURN CLOSET-TOP
?ELS7: EQUAL? CLOSET-FLOOR,FOYER \?ELS9
PRINTI "You enter the shaft and plunge down a floor. A bit shaken, you find yourself at..."
CRLF
CRLF
RETURN CLOSET-TOP
?ELS9: CALL JIGS-UP,STR?217
RSTACK
.FUNCT TRUNK-F
EQUAL? PRSA,V?OPEN \?ELS5
FSET? TRUNK,TRUNK-LOCKED-BIT \?ELS5
PRINTR "It won't budge."
?ELS5: EQUAL? PRSA,V?MOVE,V?TAKE \FALSE
EQUAL? PRSO,TRUNK \FALSE
PRINT SPINACH
CRLF
RTRUE
.FUNCT FIRE-HYDRANT-F
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTI "Don't you recognize it? It's a prop "
CALL DPRINT,FIRE-HYDRANT
PRINTR " from ""Atomic Chihuahuas From Hell."" Uncle Buddy took a lot of heat for that film when two unlikely special interest groups, the Institute for Nuclear Power and the American Chihuahua Breeders Association, joined forces in an effort to have the film banned."
.FUNCT ATTIC-DOOR-F
EQUAL? PRSA,V?LOWER,V?OPEN,V?PUSH-DOWN /?THN8
EQUAL? PRSA,V?PUSH,V?PULL \?ELS5
?THN8: FSET? ATTIC-DOOR,OPENBIT /?ELS5
EQUAL? HERE,UPSTAIRS-HALL-MIDDLE \?ELS14
PRINTR "It won't budge from this side."
?ELS14: FSET ATTIC-DOOR,OPENBIT
FCLEAR ATTIC-DOOR,LOCKEDBIT
PRINTI "The panel in the floor drops downward and the ladder unfolds as it swings down into the upstairs hallway."
FSET? TRUNK,OPENBIT /?CND17
FCLEAR TRUNK,TRUNK-LOCKED-BIT
PRINTI " At the same time you hear a click from under"
CALL TPRINT,TRUNK
PRINTI "'s lid."
?CND17: CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
FSET? ATTIC-DOOR,OPENBIT \?ELS26
PRINTR "The ladder hangs from an open panel in the ceiling, extended to the floor of the upstairs hallway."
?ELS26: EQUAL? HERE,ATTIC \FALSE
PRINTR "The wooden ladder is folded in thirds, with the first third attached to a panel in the floor."
.FUNCT AUNT-F
EQUAL? AUNT,WINNER \?ELS5
PRINTI """Shut up and get me off this buzz saw!"""
CRLF
CALL PCLEAR
RSTACK
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7
PRINTR "She's strapped to the conveyor belt and moving closer to the buzz saw's spinning blade."
?ELS7: EQUAL? PRSA,V?CUT \?ELS9
EQUAL? PRSI,SWORD \?ELS9
CALL PERFORM,V?LAMP-OFF,SAW
RTRUE
?ELS9: EQUAL? PRSA,V?LET-GO,V?RESCUE,V?UNTIE \FALSE
EQUAL? PRSO,AUNT \FALSE
CALL PERFORM,V?LAMP-OFF,SAW
RTRUE
.FUNCT HERMAN-F
EQUAL? PRSA,V?TELL /?THN6
EQUAL? PRSA,V?ASK-ABOUT \?ELS5
EQUAL? PRSO,HERMAN \?ELS5
?THN6: PRINTI "Herman never was the talkative type."
CRLF
CALL PCLEAR
RSTACK
?ELS5: EQUAL? PRSA,V?KILL \?ELS11
ZERO? PRSI \?ELS11
FIRST? PLAYER \?ELS18
PRINTI "[with the "
FIRST? PLAYER /?KLU29
?KLU29: CALL DPRINT,STACK
PRINTC 93
CRLF
FIRST? PLAYER /?KLU30
?KLU30: CALL PERFORM,V?KILL,HERMAN,STACK
RTRUE
?ELS18: PRINTR "You slug Herman in the gut. It feels good after all these years."
?ELS11: EQUAL? PRSA,V?PUSH \?ELS22
EQUAL? PRSO,HERMAN \?ELS22
PRINTR "He pushes you right back."
?ELS22: EQUAL? PRSA,V?EXAMINE \?ELS26
PRINTR "It's Cousin Herman all right. A little older and a little chubbier. He still wears Batman slip-on tennis shoes."
?ELS26: EQUAL? PRSA,V?KICK,V?BITE \FALSE
PRINTR """%*&@#!,"" shouts Herman at the top of his lungs. You are aghast at Herman's profanity in the presence of your Aunt Hildegarde."
.FUNCT PROP-F,HERMAN-THING,PLAYER-THING
FIRST? HERMAN >HERMAN-THING /?KLU53
?KLU53: FIRST? PLAYER >PLAYER-THING /?KLU54
?KLU54:
?PRG1: ZERO? PLAYER-THING /?REP2
EQUAL? PLAYER-THING,TOUPEE,MASK,RING \?REP2
NEXT? PLAYER-THING >PLAYER-THING /?PRG1
JUMP ?PRG1
?REP2: EQUAL? PRSA,V?TAKE \?ELS14
EQUAL? PRSO,HERMAN-THING \?ELS19
PRINTI "You reach for"
CALL TPRINT,HERMAN-THING
PRINTI ", but "
CALL DPRINT,HERMAN
PRINTR " twists away from you."
?ELS19: ZERO? PLAYER-THING /?ELS21
PRINTI "You're already armed with"
CALL ARPRINT,PLAYER-THING
RSTACK
?ELS21: CALL PICK-REMOVE,PRSO,PROPS
RFALSE
?ELS14: EQUAL? PRSA,V?THROW,V?SHOOT \?ELS26
EQUAL? PRSI,HERMAN \?ELS26
CALL PERFORM,V?KILL,HERMAN,PRSO
RTRUE
?ELS26: EQUAL? PRSA,V?CUT,V?KILL \FALSE
EQUAL? PRSO,HERMAN \FALSE
INC 'HERMAN-HITS
ZERO? HERMAN-DOWN /?ELS37
CALL DEQUEUE,I-AUNT
PRINTI "With the hate of all those summers of his bullying built up, you let Herman have it with"
CALL TPRINT,PLAYER-THING
PRINTI ", killing him. At the same time you hear a scream not unlike one you would hear in an Uncle Buddy movie. As the tone of the saw blade changes you realize your Aunt Hildegarde has just taken her final bow. You stand and cry for a few minutes remembering the good times with your aunt and wishing you had done more to save her.
Later you find your way out of the prop vault. You go next door to Johnny's and call the police. Unfortunately it never occurred to you that with two dead bodies involved they wouldn't believe your story."
CRLF
CALL FINISH
RSTACK
?ELS37: EQUAL? HERMAN-HITS,3 \?ELS40
SET 'HERMAN-DOWN,TRUE-VALUE
SET 'AUNT-COUNT,6
CALL QUEUE,I-AUNT,2
CALL DEQUEUE,I-HERMAN-ATTACK
PRINTI "You "
EQUAL? PLAYER-THING,GUN \?ELS43
PRINTI "fire"
CALL TPRINT,GUN
PRINTI " hitting him in the shoulder."
JUMP ?CND41
?ELS43: PRINTI "give it your best, striking Herman."
?CND41: PRINTR " He drops to the ground. (Hmm, guess that wasn't a prop after all.) Slowly, he starts to come to his feet. The saw blade is less than an inch from the blue-gray hairs of Aunt Hildegarde's head!"
?ELS40: PRINTI "You "
EQUAL? PLAYER-THING,GUN \?ELS50
PRINTI "fire"
CALL TPRINT,GUN
PRINTI ", blasting Herman with smooth and creamy whipped cream. You toss the gun away in disgust. It sails into the chute."
CRLF
JUMP ?CND48
?ELS50: PRINTI "give it your best, striking Herman. The "
CALL DPRINT,PLAYER-THING
PRINTI " breaks into a hundred pieces. It was only a prop."
CRLF
?CND48: REMOVE PLAYER-THING
RTRUE
.FUNCT I-AUNT
CALL QUEUE,I-AUNT,1
INC 'AUNT-COUNT
EQUAL? AUNT-COUNT,7 \?ELS5
CRLF
PRINTI "You hear what sounds like an old woman being run through a buzz saw. Suddenly you realize -- that old woman was your Aunt Hildegarde. Cousin Herman stares at the saw blade in horror then turns and dives into the chute, disappearing. You stand there as the blade continues to cut, wishing you had done more to save her.
Later you find your way out of the prop vault. You go next door to Johnny's and call the police. When they arrive they have a difficult time believing your story. You're advised to call a good lawyer."
CRLF
CALL FINISH
RSTACK
?ELS5: CRLF
PRINTI "Your Aunt Hildegarde, strapped to the conveyor belt, is "
GET AUNT-DISTANCE,AUNT-COUNT
PRINT STACK
PRINTI " the saw blade. "
ZERO? HERMAN-HITS /?ELS10
EQUAL? AUNT-COUNT,1 \?ELS14
PRINTI """Herman, dear, please turn off the buzz saw and untie me,"" says Aunt Hildegarde politely."
JUMP ?CND8
?ELS14: EQUAL? AUNT-COUNT,2 \?ELS16
PRINTI """Herman, that's no way to treat your cousin,"" admonishes Aunt Hildegarde."
JUMP ?CND8
?ELS16: EQUAL? AUNT-COUNT,3 \?ELS18
PRINTI """I'm just glad your Uncle Buddy isn't alive to see this,"" says Aunt Hildegarde with resignation."
JUMP ?CND8
?ELS18: EQUAL? AUNT-COUNT,4 \?ELS20
PRINTI """Herman, enough is enough. You are in big trouble, buster. Pumpkin, untie me then run and get your Uncle Buddy's belt,"" orders Aunt Hildegarde."
JUMP ?CND8
?ELS20: EQUAL? AUNT-COUNT,5 \?ELS22
PRINTI """Now you two stop that horseplay and get me off this contraption,"" demands Aunt Hildegarde."
JUMP ?CND8
?ELS22: EQUAL? AUNT-COUNT,6 \?CND8
PRINTI """Pumpkin! Help!"" screams Aunt Hildegarde over the roar of the buzz saw."
JUMP ?CND8
?ELS10: PRINTI """Herman, stop this silly game this instant and untie me,"" demands Aunt Hildegarde."
?CND8: CRLF
RTRUE
.FUNCT SAW-F,HERMAN-THING
FIRST? HERMAN >HERMAN-THING /?KLU21
?KLU21: EQUAL? PRSA,V?LAMP-OFF \?ELS5
ZERO? HERMAN-DOWN /?ELS10
ADD SCORE,20 >SCORE
PRINTI "The conveyor belt stops and the buzz saw's blade begins to slow. As you untie your Aunt Hildegarde, Herman races toward the chute and jumps inside, disappearing. You hear his squeaky laugh trail off in the distance. Aunt Hildegarde gets up from the buzz saw rubbing the back of her head. Though a bit shaken, she explains she had been watching you while you searched for the ""treasures.""
""As I followed your progress I began to realize you and I were not the only ones on the estate. My suspicions were confirmed when I received a rap on the skull. The next thing I knew I was being tied to this buzz saw by your Cousin Herman,"" says Aunt Hildegarde. ""I guess he couldn't stand to see you inherit the family fortune. Well, it's all yours now. I knew you could do it,"" says Aunt Hildegarde with satisfaction.
""I'm sorry I put you through all this, Pumpkin, but your Uncle Buddy and I had to be sure that whoever inherited the estate and the studio would be clever enough to handle it all. The only way I could be sure the stipulations in my will would be carried out would be to oversee it myself, so I faked my death,"" says Aunt Hildegarde, hugging you so tight she squeezes the air out of your lungs. ""Tomorrow we'll go see my lawyer and he'll take care of all the paper work. I know you'll take good care of Hildebud and the studio. As for me, I'm sure it won't be long before the press discovers I'm alive. I plan to go to the south of France for a rest while the story leaks out. It will be great publicity for the studio,"" says Aunt Hildegarde. Then she adds, ""And let's hope we've seen the last of your Cousin Herman."""
CRLF
CALL FINISH
RSTACK
?ELS10: ZERO? HERMAN-THING /?ELS13
REMOVE HERMAN-THING
PRINTI "Cousin Herman hits you with"
CALL TPRINT,HERMAN-THING
PRINTI ", driving you away from the buzz saw. The "
CALL DPRINT,HERMAN-THING
PRINTR " crumbles; it was only a prop."
?ELS13: PRINTR "Cousin Herman slugs you in the stomach, pushing you away from the buzz saw."
?ELS5: EQUAL? PRSA,V?LAMP-ON \?ELS18
PRINTI "It's already turned on!"
RTRUE
?ELS18: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "It's a large, steel blade that seems to spin faster as Aunt Hildegarde moves closer to it."
.FUNCT I-HERMAN-ATTACK,NEXT-PROP,FOO,HERMAN-THING
FIRST? HERMAN >HERMAN-THING /?KLU23
?KLU23: CALL QUEUE,I-HERMAN-ATTACK,-1
ZERO? HERMAN-THING /?ELS5
REMOVE HERMAN-THING
CRLF
PRINTI "Cousin Herman "
EQUAL? HERMAN-THING,GUN \?ELS9
PRINTI "fires"
JUMP ?CND7
?ELS9: EQUAL? HERMAN-THING,BAG \?ELS11
PRINTI "throws"
JUMP ?CND7
?ELS11: PRINTI "swings"
?CND7: PRINTI " the "
CALL DPRINT,HERMAN-THING
PRINTI ", "
EQUAL? HERMAN-THING,GUN \?ELS18
PRINTR "covering you with whipped cream. Herman tosses the gun in the chute."
?ELS18: PRINTI "striking you. The "
CALL DPRINT,HERMAN-THING
PRINTR " crumbles; it was only a prop."
?ELS5: CALL PICK-ONE,PROPS
MOVE STACK,HERMAN
FIRST? HERMAN >HERMAN-THING /?KLU24
?KLU24: CRLF
PRINTI "Cousin Herman grabs the "
CALL DPRINT,HERMAN-THING
PRINTR "."
.ENDI

1238
elevator.zil Normal file

File diff suppressed because it is too large Load Diff

1344
first-floor.zap Normal file

File diff suppressed because it is too large Load Diff

2203
first-floor.zil Normal file

File diff suppressed because it is too large Load Diff

263
globals.zap Normal file
View File

@ -0,0 +1,263 @@
.FUNCT CANT-USE,PTR,BUF,?TMP1
SET 'QUOTE-FLAG,FALSE-VALUE
SET 'P-OFLAG,FALSE-VALUE
PRINTI "[This story can't understand the word """
MUL PTR,2 >BUF
ADD P-LEXV,BUF
GETB STACK,2 >?TMP1
ADD P-LEXV,BUF
GETB STACK,3
CALL WORD-PRINT,?TMP1,STACK
PRINTR """ when you use it that way.]"
.FUNCT DONT-UNDERSTAND
PRINTR "[That sentence didn't make sense. Please reword it or try something else.]"
.FUNCT NOT-IN-SENTENCE,STR
PRINTI "[There aren't "
PRINT STR
PRINTR " in that sentence!]"
.FUNCT LIGHTS-F
FSET? HERE,OUTDOORSBIT /?THN6
FSET? HERE,CAVEBIT /?THN6
EQUAL? HERE,CRAWL-SPACE-NORTH,CRAWL-SPACE-SOUTH,FIRST-SECRET-ROOM /?THN6
EQUAL? HERE,FIREPLACE,CHIMNEY-1,CHIMNEY-2 /?THN6
EQUAL? HERE,CHIMNEY-3 \?ELS5
?THN6: CALL CANT-SEE-ANY,LIGHTS
RSTACK
?ELS5: EQUAL? PRSA,V?LAMP-ON \FALSE
PRINTR "You flip the switch but nothing happens. It seems the light bulbs are missing."
.FUNCT GROUND-F
CALL GETTING-INTO?
ZERO? STACK \?THN6
EQUAL? PRSA,V?LOOK-BEHIND \?ELS5
?THN6: CALL PICK-ONE,YUKS
PRINT STACK
CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?LOOK-UNDER \?ELS9
PRINTR "Nothing but dirt."
?ELS9: CALL HURT?,GROUND
ZERO? STACK \?THN12
CALL MOVING?,GROUND
ZERO? STACK /?ELS11
?THN12: CALL SAY-THE,GROUND
PRINTR " is not affected."
?ELS11: CALL TALKING-TO?,GROUND
ZERO? STACK \?THN16
EQUAL? PRSA,V?YELL \FALSE
?THN16: PRINTI "Talking to"
CALL TPRINT,GROUND
CALL SIGN-OF-COLLAPSE
RETURN 2
.FUNCT MAZE-HOLE-F
EQUAL? PRSA,V?LOOK-INSIDE \FALSE
PRINTR "There's nothing but dirt in the hole."
.FUNCT WALLS-F
FSET? HERE,OUTDOORSBIT \?ELS5
CALL CANT-SEE-ANY,WALLS
RETURN 2
?ELS5: CALL GETTING-INTO?
ZERO? STACK \?THN10
EQUAL? PRSA,V?LOOK-BEHIND \?ELS9
?THN10: CALL PICK-ONE,YUKS
PRINT STACK
CRLF
RTRUE
?ELS9: EQUAL? PRSA,V?LOOK-UNDER \?ELS13
PRINTR "There's a floor there."
?ELS13: CALL HURT?,WALLS
ZERO? STACK \?THN16
CALL MOVING?,WALLS
ZERO? STACK /?ELS15
?THN16: EQUAL? PRSA,V?THROW \?CND18
EQUAL? PRSO,FINCH /FALSE
?CND18: CALL SAY-THE,WALLS
PRINTR " is not affected."
?ELS15: CALL TALKING-TO?,WALLS
ZERO? STACK \?THN25
EQUAL? PRSA,V?YELL \?ELS24
?THN25: PRINTI "Talking to walls"
CALL SIGN-OF-COLLAPSE
RETURN 2
?ELS24: EQUAL? PRSA,V?EXAMINE /FALSE
CALL YOU-DONT-NEED,WALLS
RETURN 2
.FUNCT CEILING-F
FSET? HERE,OUTDOORSBIT \?ELS5
CALL CANT-SEE-ANY,CEILING
RETURN 2
?ELS5: EQUAL? PRSA,V?LOOK-UNDER \FALSE
CALL V-LOOK
RTRUE
.FUNCT HANDS-F
EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSO,HANDS \FALSE
CALL PERFORM,V?REACH-IN,PRSI
RTRUE
.FUNCT YOUR-FEET-F
EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,SKIS \FALSE
CALL PERFORM,V?WEAR,SKIS
RTRUE
.FUNCT ME-F,CONTEXT=0,OLIT
EQUAL? PRSA,V?ALARM \?ELS5
PRINTR "You're already wide awake."
?ELS5: CALL TALKING-TO?,ME
ZERO? STACK \?THN8
EQUAL? PRSA,V?YELL \?ELS7
?THN8: CALL TALK-TO-SELF
RETURN 2
?ELS7: EQUAL? PRSA,V?LISTEN \?ELS13
PRINT YOU-CANT
PRINTR "help doing that."
?ELS13: EQUAL? PRSA,V?GIVE \?ELS15
EQUAL? PRSI,ME \?ELS15
CALL ULTIMATELY-IN?,PRSO
ZERO? STACK /?ELS20
PRINTR "You already have it."
?ELS20: CALL PERFORM,V?TAKE,PRSO
RTRUE
?ELS15: EQUAL? PRSA,V?KILL \?ELS24
PRINTR "Desperate? Call the Samaritans."
?ELS24: EQUAL? PRSA,V?FIND \?ELS26
PRINTR "You're right here!"
?ELS26: CALL HURT?,ME
ZERO? STACK /FALSE
PRINTR "Punishing yourself that way won't help matters."
.FUNCT TALK-TO-SELF
PRINTI "Talking to yourself"
CALL SIGN-OF-COLLAPSE
CALL PCLEAR
RSTACK
.FUNCT SIGN-OF-COLLAPSE
PRINTR " is said to be a sign of impending mental collapse."
.FUNCT GLOBAL-ROOM-F
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE,V?LOOK \?ELS5
CALL V-LOOK
RTRUE
?ELS5: EQUAL? PRSA,V?EXIT,V?DROP,V?ENTER \?ELS7
CALL V-WALK-AROUND
RSTACK
?ELS7: EQUAL? PRSA,V?SEARCH \?ELS9
PRINTR "You find nothing new."
?ELS9: EQUAL? PRSA,V?WALK-AROUND \FALSE
PRINTR "Walking around the area reveals nothing new.
(If you want to go somewhere, just type a direction.)"
.FUNCT CANT-SEE-ANY,THING=0,STRING?=0
CALL YOU-CANT-SEE
ZERO? STRING? /?ELS3
PRINT THING
JUMP ?CND1
?ELS3: ZERO? THING /?ELS6
FSET? THING,NARTICLEBIT /?CND8
PRINTI "any "
?CND8: CALL DPRINT,THING
JUMP ?CND1
?ELS6: PRINTI "that"
?CND1: PRINTR " here!"
.FUNCT YOU-CANT-SEE
SET 'CLOCK-WAIT,TRUE-VALUE
CALL PCLEAR
PRINT YOU-CANT
PRINTI "see "
RTRUE
.FUNCT YOU-ALREADY
PRINTR "You already did that."
.FUNCT HOW?
PRINTR "How do you intend to do that?"
.FUNCT PRESUMABLY-YOU-WANT-TO,STR,THING=0
PRINT I-ASSUME
PRINTC 32
PRINT STR
PRINTC 32
ZERO? THING /?ELS3
CALL DPRINT,THING
JUMP ?CND1
?ELS3: PRINTI "it"
?CND1: PRINTR ".]"
.FUNCT NOT-LIKELY,THING,STR
PRINTI "It"
CALL PICK-ONE,LIKELIES
PRINT STACK
PRINTI " that"
CALL TPRINT,THING
PRINTC 32
PRINT STR
PRINTR "."
.FUNCT YOUD-HAVE-TO,STR,THING
PRINTI "You'd have to "
PRINT STR
CALL TPRINT,THING
PRINTR " to do that."
.FUNCT WINDOW-F
EQUAL? PRSA,V?LOOK-INSIDE \?ELS5
EQUAL? HERE,PROJECTION-BOOTH \?ELS5
PRINTR "Uncle Buddy's screening room isn't packing in much of a crowd tonight. A viewing screen dominates the room."
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS9
EQUAL? HERE,DINING-ROOM \?ELS9
GRTR? MOVES,535 /?ELS14
PRINTI "By the moonlight you can see the outline of"
JUMP ?CND12
?ELS14: PRINTI "You can see"
?CND12: PRINTR " Aunt Hildegarde's lush garden."
?ELS9: EQUAL? PRSA,V?LOOK-INSIDE \?ELS18
PRINTI "You see the "
EQUAL? HERE,SCREENING-ROOM \?ELS21
PRINTI "projection booth of"
JUMP ?CND19
?ELS21: FSET? HERE,OUTDOORSBIT \?ELS23
PRINTI "interior of"
JUMP ?CND19
?ELS23: PRINTI "grounds outside"
?CND19: PRINTR " Uncle Buddy's house."
?ELS18: EQUAL? PRSA,V?OPEN \?ELS27
EQUAL? HERE,PROJECTION-BOOTH,SCREENING-ROOM /?ELS27
PRINTR "That would let in all the smog!"
?ELS27: EQUAL? PRSA,V?ENTER,V?CLOSE \FALSE
PRINTR "The window isn't open."
.ENDI

451
globals.zil Normal file
View File

@ -0,0 +1,451 @@
"GLOBALS for ANTHILL (C)1986 Infocom Inc. All Rights Reserved."
<DIRECTIONS NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
<GLOBAL HERE <>>
<GLOBAL LIT T>
<GLOBAL MOVES 0>
<GLOBAL SCORE 0>
; <GLOBAL INDENTS
<PTABLE ""
" "
" "
" "
" "
" ">>
<OBJECT GLOBAL-OBJECTS ;" BITS FLAGS "
(FLAGS EVERYBIT INVISIBLE TOUCHBIT SURFACEBIT TRYTAKEBIT
OPENBIT SEARCHBIT TRANSBIT WEARBIT VOWELBIT
ONBIT RLANDBIT ACTORBIT TAKEBIT NARTICLEBIT
NDESCBIT LOCKEDBIT WORNBIT INDOORSBIT TOOLBIT
WETBIT DOORBIT FLAMEBIT VEHBIT OUTDOORSBIT
;FURNITBIT CAVEBIT READBIT CONTBIT LIGHTBIT)
(THINGS 0)>
<OBJECT LOCAL-GLOBALS
(IN GLOBAL-OBJECTS)
(SYNONYM ZZZP)
(DESCFCN 0)
(GLOBAL GLOBAL-OBJECTS)
(ADVFCN 0)
(FDESC "F")
(LDESC "L")
(PSEUDO "FOOBAR" V-WALK)
(CONTFCN 0)
(SIZE 0)
;(TEXT "")
(CAPACITY 0)>
<OBJECT ROOMS
(IN TO ROOMS)>
<OBJECT INTNUM
(IN GLOBAL-OBJECTS)
(SYNONYM INTNUM)
(DESC "number")>
<OBJECT PSEUDO-OBJECT
(IN LOCAL-GLOBALS)
(DESC "pseudo")
(ACTION ME-F)>
<OBJECT IT
(IN GLOBAL-OBJECTS)
(SYNONYM IT THAT)
(DESC "it")
(FLAGS VOWELBIT NARTICLEBIT NDESCBIT TOUCHBIT)>
;<ROUTINE TO-DO-THING-USE (STR1 STR2)
<TELL "(To " .STR1 " something, use the command: "
.STR2 " THING.)" CR>>
<ROUTINE CANT-USE (PTR "AUX" BUF)
;#DECL ((PTR BUF) FIX)
<SETG QUOTE-FLAG <>>
<SETG P-OFLAG <>>
<TELL "[This story can't understand the word \"">
<WORD-PRINT <GETB <REST ,P-LEXV <SET BUF <* .PTR 2>>> 2>
<GETB <REST ,P-LEXV .BUF> 3>>
<TELL "\" when you use it that way.]" CR>>
<ROUTINE DONT-UNDERSTAND ()
<TELL
"[That sentence didn't make sense. Please reword it or try something else.]" CR>>
<ROUTINE NOT-IN-SENTENCE (STR)
<TELL "[There aren't " .STR " in that sentence!]" CR>>
<OBJECT LIGHTS
(IN GLOBAL-OBJECTS)
(DESC "lights")
(FLAGS NDESCBIT)
(SYNONYM LIGHT LIGHTS)
(ACTION LIGHTS-F)>
<ROUTINE LIGHTS-F ()
<COND (<OR <FSET? ,HERE ,OUTDOORSBIT>
<FSET? ,HERE ,CAVEBIT>
<EQUAL? ,HERE ,CRAWL-SPACE-NORTH ,CRAWL-SPACE-SOUTH
,FIRST-SECRET-ROOM ,FIREPLACE
,CHIMNEY-1 ,CHIMNEY-2 ,CHIMNEY-3>>
<CANT-SEE-ANY ,LIGHTS>)
(<VERB? LAMP-ON>
<TELL
"You flip the switch but nothing happens. It seems the light bulbs are
missing." CR>)>>
<OBJECT GROUND
(IN GLOBAL-OBJECTS)
(FLAGS NDESCBIT TOUCHBIT)
(DESC "ground")
(SYNONYM GROUND FLOOR)
(ACTION GROUND-F)>
<ROUTINE GROUND-F ()
<COND ;(<NOT <FSET? ,HERE ,INDOORSBIT>>
<CANT-SEE-ANY ,WALLS>
<RFATAL>)
(<OR <GETTING-INTO?>
<VERB? LOOK-BEHIND>>
<TELL <PICK-ONE ,YUKS> CR>)
(<VERB? LOOK-UNDER>
<TELL "Nothing but dirt." CR>)
(<OR <HURT? ,GROUND>
<MOVING? ,GROUND>>
<SAY-THE ,GROUND>
<TELL " is not affected." CR>)
(<OR <TALKING-TO? ,GROUND>
<VERB? YELL>>
<TELL "Talking to" T ,GROUND>
<SIGN-OF-COLLAPSE>
<RFATAL>)
;(T
<YOU-DONT-NEED ,GROUND>
<RFATAL>)>>
<OBJECT MAZE-HOLE ;"should this or could this be a real container?"
(DESC "hole")
(SYNONYM HOLE)
(ADJECTIVE GROUND)
(FLAGS NDESCBIT)
(ACTION MAZE-HOLE-F)>
<ROUTINE MAZE-HOLE-F ()
<COND (<VERB? LOOK-INSIDE>
<TELL "There's nothing but dirt in the hole." CR>)>>
<OBJECT WALLS
(IN GLOBAL-OBJECTS)
(FLAGS NDESCBIT TOUCHBIT)
(DESC "wall")
(SYNONYM WALL WALLS)
(ACTION WALLS-F)>
<ROUTINE WALLS-F ()
<COND (<FSET? ,HERE ,OUTDOORSBIT>
<CANT-SEE-ANY ,WALLS>
<RFATAL>)
(<OR <GETTING-INTO?>
<VERB? LOOK-BEHIND>>
<TELL <PICK-ONE ,YUKS> CR>)
(<VERB? LOOK-UNDER>
<TELL "There's a floor there." CR>)
(<OR <HURT? ,WALLS>
<MOVING? ,WALLS>>
<COND (<AND <VERB? THROW>
<PRSO? ,FINCH>>
<RFALSE>)>
<SAY-THE ,WALLS>
<TELL " is not affected." CR>)
(<OR <TALKING-TO? ,WALLS>
<VERB? YELL>>
<TELL "Talking to walls">
<SIGN-OF-COLLAPSE>
<RFATAL>)
(<NOT <VERB? EXAMINE>>
<YOU-DONT-NEED ,WALLS>
<RFATAL>)>
;<RTRUE>>
<OBJECT CEILING
(IN GLOBAL-OBJECTS)
(FLAGS NDESCBIT TOUCHBIT)
(DESC "ceiling")
(SYNONYM CEILING)
(ACTION CEILING-F)>
<ROUTINE CEILING-F ()
<COND (<FSET? ,HERE ,OUTDOORSBIT>
<CANT-SEE-ANY ,CEILING>
<RFATAL>)
(<VERB? LOOK-UNDER>
<V-LOOK>
<RTRUE>)
(T
<RFALSE>)>>
<OBJECT HANDS
(IN GLOBAL-OBJECTS)
(DESC "your hand")
(SYNONYM HAND HANDS)
(ADJECTIVE MY BARE)
(FLAGS TOOLBIT TOUCHBIT NARTICLEBIT)
(ACTION HANDS-F)>
<ROUTINE HANDS-F ()
<COND (<AND <VERB? PUT>
<PRSO? ,HANDS>>
<PERFORM ,V?REACH-IN ,PRSI>
<RTRUE>)>>
<OBJECT YOUR-FEET
(IN GLOBAL-OBJECTS)
(DESC "your feet")
(SYNONYM FOOT FEET)
(ADJECTIVE MY)
(FLAGS NARTICLEBIT)
(ACTION YOUR-FEET-F)>
<ROUTINE YOUR-FEET-F ()
<COND (<AND <VERB? PUT>
<PRSI? ,SKIS>>
<PERFORM ,V?WEAR ,SKIS>
<RTRUE>)>>
<OBJECT PLAYER
(SYNONYM PLAYER)
(DESC "yourself")
(FLAGS NDESCBIT NARTICLEBIT INVISIBLE ACTORBIT)
(ACTION 0)
(SIZE 0)>
<OBJECT ME
(IN GLOBAL-OBJECTS)
(SYNONYM I ME MYSELF)
(DESC "yourself")
(FLAGS ACTORBIT TOUCHBIT NARTICLEBIT)
(ACTION ME-F)>
<ROUTINE ME-F ("OPTIONAL" (CONTEXT <>) "AUX" OLIT)
<COND (<VERB? ALARM>
<TELL "You're already wide awake." CR>
<RTRUE>)
(<OR <TALKING-TO? ,ME>
<VERB? YELL>>
<TALK-TO-SELF>
<RFATAL>)
(<VERB? LISTEN>
<TELL ,YOU-CANT "help doing that." CR>
<RTRUE>)
(<AND <VERB? GIVE>
<EQUAL? ,PRSI ,ME>>
<COND (<ULTIMATELY-IN? ,PRSO>
<TELL "You already have it." CR>)
(T
<PERFORM ,V?TAKE ,PRSO>)>
<RTRUE>)
(<VERB? KILL>
<TELL "Desperate? Call the Samaritans." CR>
<RTRUE>)
(<VERB? FIND>
<TELL "You're right here!" CR>
<RTRUE>)
(<HURT? ,ME>
<TELL "Punishing yourself that way won't help matters." CR>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE TALK-TO-SELF ()
<TELL "Talking to yourself">
<SIGN-OF-COLLAPSE>
<PCLEAR>>
<ROUTINE SIGN-OF-COLLAPSE ()
<TELL " is said to be a sign of impending mental collapse." CR>>
<OBJECT GLOBAL-ROOM
(IN GLOBAL-OBJECTS)
(DESC "room")
(SYNONYM ROOM AREA PLACE)
(ACTION GLOBAL-ROOM-F)>
<ROUTINE GLOBAL-ROOM-F ()
<COND (<VERB? LOOK EXAMINE LOOK-INSIDE>
<V-LOOK>
<RTRUE>)
(<VERB? ENTER DROP EXIT>
<V-WALK-AROUND>)
(<VERB? SEARCH>
<TELL "You find nothing new." CR>)
(<VERB? WALK-AROUND>
<TELL
"Walking around the area reveals nothing new.~
~
(If you want to go somewhere, just type a direction.)" CR>
<RTRUE>)
(T
<RFALSE>)>>
; <ROUTINE ALREADY-IN (PLACE "OPTIONAL" (NOT? <>))
<TELL "But you're ">
<COND (.NOT?
<TELL "not">)
(T
<TELL "already">)>
<TELL " in" T .PLACE "!" CR>>
; <ROUTINE CANT-MAKE-OUT-ANYTHING ()
<TELL ,YOU-CANT "make out anything inside." CR>>
<ROUTINE CANT-SEE-ANY ("OPTIONAL" (THING <>) (STRING? <>))
<YOU-CANT-SEE>
<COND (.STRING?
<TELL .THING>)
(.THING
<COND (<NOT <FSET? .THING ,NARTICLEBIT>>
<TELL "any ">)>
<TELL D .THING>)
(T
<TELL "that">)>
<TELL " here!" CR>>
<ROUTINE YOU-CANT-SEE ()
<SETG CLOCK-WAIT T>
<PCLEAR>
<TELL ,YOU-CANT "see ">>
<ROUTINE YOU-ALREADY ()
<TELL "You already did that." CR>>
; <ROUTINE NOTHING-EXCITING ()
<TELL "Nothing exciting happens." CR>>
<ROUTINE HOW? ()
<TELL "How do you intend to do that?" CR>>
<GLOBAL I-ASSUME "[Presumably, you mean">
<ROUTINE PRESUMABLY-YOU-WANT-TO (STR "OPTIONAL" (THING <>))
<TELL ,I-ASSUME " " .STR " ">
<COND (.THING
<TELL D .THING>) ;"space bug here i think"
(T
<TELL "it">)>
<TELL ".]" CR>>
; <ROUTINE TOO-LARGE (THING "OPTIONAL" (SMALL? <>))
<BUT-THE .THING>
<TELL "is much too ">
<COND (.SMALL?
<TELL "small">)
(T
<TELL "large">)>
<TELL "!" CR>>
<ROUTINE NOT-LIKELY (THING STR)
<TELL "It" <PICK-ONE ,LIKELIES> " that" T .THING " " .STR "." CR>>
<GLOBAL LIKELIES
<LTABLE 0
" isn't likely"
" seems doubtful"
" seems unlikely"
"'s unlikely"
"'s not likely"
"'s doubtful">>
<ROUTINE YOUD-HAVE-TO (STR THING)
<TELL "You'd have to " .STR T .THING " to do that." CR>>
; <ROUTINE CLOSED-AND-LOCKED ()
<TELL " closed and locked." CR>>
; <ROUTINE VPRINT ("AUX" TMP)
<SET TMP <GET ,P-OTBL ,P-VERBN>>
<COND (<==? .TMP 0> <TELL "tell">)
(<ZERO? <GETB ,P-VTBL 2>>
<PRINTB <GET .TMP 0>>)
(T
<WORD-PRINT <GETB .TMP 2> <GETB .TMP 3>>)>>
; <ROUTINE NOT-HERE (OBJ)
<SETG CLOCK-WAIT T>
<TELL ,YOU-CANT "see ">
<COND (<NOT <FSET? .OBJ ,NARTICLEBIT>> <TELL "any ">)>
<TELL D .OBJ " here." CR>>
<OBJECT HER
(IN GLOBAL-OBJECTS)
(SYNONYM SHE HER ; WOMAN ; GIRL ; LADY)
(DESC "her")
(FLAGS NARTICLEBIT)>
<OBJECT HIM
(IN GLOBAL-OBJECTS)
(SYNONYM HE HIM ; MAN ;BOY)
(DESC "him")
(FLAGS NARTICLEBIT)>
<OBJECT THEM
(IN GLOBAL-OBJECTS)
(SYNONYM THEY THEM)
(DESC "them")
(FLAGS NARTICLEBIT)>
;<GLOBAL CANT "You can't ">
<OBJECT INTDIR
(IN GLOBAL-OBJECTS)
(DESC "direction")
(SYNONYM DIRECTION)
(ADJECTIVE NORTH EAST SOUTH WEST ;UP ;DOWN NE NW SE SW)
;(NE 0)
;(SE 0)
;(SW 0)
;(NW 0)>
<OBJECT WINDOW
(IN LOCAL-GLOBALS)
(DESC "window")
(SYNONYM WINDOW GLASS)
(FLAGS NDESCBIT)
(ACTION WINDOW-F)>
<ROUTINE WINDOW-F ()
<COND (<AND <VERB? LOOK-INSIDE>
<EQUAL? ,HERE ,PROJECTION-BOOTH>>
<TELL
"Uncle Buddy's screening room isn't packing in much of a crowd tonight.
A viewing screen dominates the room." CR>)
(<AND <VERB? LOOK-INSIDE>
<EQUAL? ,HERE ,DINING-ROOM>>
<COND (<NOT <G? ,MOVES 535>>
<TELL "By the moonlight you can see the outline of">)
(T
<TELL "You can see">)>
<TELL " Aunt Hildegarde's lush garden." CR>)
(<VERB? LOOK-INSIDE>
<TELL "You see the ">
<COND (<EQUAL? ,HERE ,SCREENING-ROOM>
<TELL "projection booth of">)
(<FSET? ,HERE ,OUTDOORSBIT>
<TELL "interior of">)
(T
<TELL "grounds outside">)>
<TELL " Uncle Buddy's house." CR>)
(<AND <VERB? OPEN>
<NOT <EQUAL? ,HERE ,PROJECTION-BOOTH ,SCREENING-ROOM>>>
<TELL "That would let in all the smog!" CR>)
(<VERB? CLOSE ENTER>
<TELL "The window isn't open." CR>)>>
;"default for things that are too heavy to carry"
<GLOBAL SPINACH
"It's too heavy. Maybe if you'd eaten your spinach as Aunt
Hildegarde told you.">

1084
hedgemaze.zap Normal file

File diff suppressed because it is too large Load Diff

2001
hedgemaze.zil Normal file

File diff suppressed because it is too large Load Diff

2
map.zap Normal file
View File

@ -0,0 +1,2 @@
.ENDI

346
map.zil Normal file
View File

@ -0,0 +1,346 @@
"MAPS for ANTHILL (C)1986 by Infocom Inc. All Rights Reserved."
;" THE NEW NEW COMPLETE MAP
1 2 3
12345678901234567890123456789012345678
1____________________________________~
2| __| | |____ | | ___|__ | _____ |~
3| | __|__ | | |__ _ ___| | | |~
4| | ___ | | | | | | __| | _| | | | |~
5|______ | | |_____| | |_ |_| | | |~
6| __ ___|_ ____ | | | __ | | | |~
7|__| | | | | | _____| | |__| | | | |~
8| ___| | | | |__| ______| _| | | | |~
9| | ___| | |___ | | | |____| | | |~
10| | | ___|___ | | |X| |___ | ____| |~
1| | | | | | | |_| | _| |______ |~
2|_| | | | | | |_|_____| | ____ | __|~
3| ____| | | |____ | | | | __ | | |~
4| | | |_| | | |_| | | | | | | |~
5| | | |__ __| | |____ |__ | |__| | |~
6| | |_________|__ ___ | ____ | |~
7| |____ | _____ | | | _ | |___ | __|~
8| | | | | | | | |_| | ___| | |~
9| | | |___| | | | |__ __| | |_ | | |~
20|___|_______|___|____ ____|____|___|~
123456789112345678921234567893123456
0 0 0 "
;" THE NEW NEW HORIZONTAL MAP
1 2 3
123456789012345678901234567890123456
1___________________________________~
2 __ ____ ___ __ _____~
3 __ __ __ _ ___~
4 ___ __ _~
5 ______ _____ _ _~
6 __ ___ _ ____ __~
7 __ _____ __~
8 ___ __ ______ _~
9 ___ ___ ____~
10 ___ ___ X ___ _____~
1 _ _ ______~
2 _ _ _____ ____ __~
3 ____ ____ __~
4 _ _~
5 __ __ ____ __ __~
6 _________ __ ___ ____~
7 ____ _____ _ ___ __~
8 _ ___~
9 ___ __ __ _~
20 ___ _______ ___ ____ ____ ____ ___~
123456789112345678921234567893123456
0 0 0 "
;" THE NEW NEW COMPLETE MAP
1 2 3
123456789012345678901234567890123456
1
2| | | | | | | | |~
3| | | | | | | | | |~
4| | | | | | | | | | | | | | |~
5| | | | | | | | | | | |~
6| | | | | | | | |~
7| | | | | | | | | | | | | | |~
8| | | | | | | | | | | | |~
9| | | | | | | | | | | | |~
10| | | | | | |X| | | | |~
1| | | | | | | | | | | | |~
2| | | | | | | | | | | | |~
3| | | | | | | | | | | |~
4| | | | | | | | | | | | | | | |~
5| | | | | | | | | | | | |~
6| | | | | | |~
7| | | | | | | | | |~
8| | | | | | | | | | | | | |~
9| | | | | | | | | | | | | | |~
20| | | | | | |~
123456789112345678921234567893123456
0 0 0 "
;" THE NEW NEW COMPLETE MAP
123456789111111111122222222223333333
012345678901234567890123456
02468111112222233333444445555566666
00000246802468024680246802468024680
0000000000000000000000000000000
0____________________________________~
1| __| | |____ | | ___|__ | _____ |~
2| | __|__ | | |__ _ ___| | | |~
3| | ___ | | | | | | __| | _| | | | |~
4|______ | | |_____| | |_ |_| | | |~
5| __ ___|_ ____ | | | __ | | | |~
6|__| | | | | | _____| | |__| | | | |~
7| ___| | | | |__| ______| _| | | | |~
8| | ___| | |___ | | | |____| | | |~
9| | | ___|___ | | |X| |___ | ____| |~
10| | | | | | | |_| | _| |______ |~
11|_| | | | | | |_|_____| | ____ | __|~
12| ____| | | |____ | | | | __ | | |~
13| | | |_| | | |_| | | | | | | |~
14| | | |__ __| | |____ |__ | |__| | |~
15| | |_________|__ ___ | ____ | |~
16| |____ | _____ | | | _ | |___ | __|~
17| | | | | | | | |_| | ___| | |~
18| | | |___| | | | |__ __| | |_ | | |~
19|___|_______|___|____ ____|____|___|~
13579135792222233333444445555666666
99999199991357913579135791357913579
999999999999999999999999999999"
;" NEW COMPLETE MAP
1 2 3
12345678901234567890123456789012345678
1______________________________________
2| __| | |____ | | ___|__ | _____ |
3| | __|__ | | |__ _ ___| | | | |
4| | ___ | | | | | | __| | _| | | | | |
5|______ | | |_____| | |_ |_| | | | |
6| __ ___|_ ____ | | | __ | | | |_|
7|__| | | | | | _____| | |__| | | | |
8| ___| | | | |__| ______| _| | | | | |
9| | ___| | |___ | | | |____| | | | |
10| | | ___|___ | | |X| |___ | ____| | |
1| | | | | | | |_| | _| |_______| |
2|_| | | | | | |_|_____| | ____ | ___ |
3| ____| | | |____ | | | | __ | | | |
4| | | |_| | | |_| | | | | | | | |
5| | | |__ __| | |____ |__ | |__| | | |
6| | |_________|__ ___ | ____ | | |
7| |____ | _____ | | | _ | |___ | ___ |
8| | | | | | | | |_| | ___| | __|
9| | | |___| | | | |__ __| | |_ | |__ |
20|___|_______|___|____ ____|____|_____|
12345678911234567892123456789312345678
0 0 0 "
;" NEW HORIZONTAL MAP
1 2 3
12345678901234567890123456789012345678
1______________________________________~
2 __ ____ ___ __ _____~
3 __ __ __ _ ___~
4 ___ __ _~
5 ______ _____ _ _~
6 __ ___ _ ____ __ _~
7 __ _____ __~
8 ___ __ ______ _~
9 ___ ___ ____~
10 ___ ___ X ___ ____
1 _ _ _______~
2 _ _ _____ ____ ___~
3 ____ ____ __~
4 _ _~
5 __ __ ____ __ __~
6 _________ __ ___ ____~
7 ____ _____ _ ___ ___~
8 _ ___ __~
9 ___ __ __ _ __~
20 ___ _______ ___ ____ ____ ____ _____~
12345678911234567892123456789312345678
0 0 0 "
;" NEW COMPLETE MAP
1 2 3
12345678901234567890123456789012345678
1
2| | | | | | | | |~
3| | | | | | | | | | |~
4| | | | | | | | | | | | | | | |~
5| | | | | | | | | | | | |~
6| | | | | | | | | |~
7| | | | | | | | | | | | | | |~
8| | | | | | | | | | | | | |~
9| | | | | | | | | | | | | |~
10| | | | | | |X| | | | | |~
1| | | | | | | | | | | | | |~
2| | | | | | | | | | | | |~
3| | | | | | | | | | | | |~
4| | | | | | | | | | | | | | | | |~
5| | | | | | | | | | | | | |~
6| | | | | | | |~
7| | | | | | | | | |~
8| | | | | | | | | | | | | |~
9| | | | | | | | | | | | | | |~
20| | | | | | |~
12345678911234567892123456789312345678
0 0 0 "
;" OLD COMPLETE MAP
123456789012345678901234567890123456789
1_______________________________________
2| _____ | | | __ ___ | __ | |
3|____ | | | | | | | |__| |___|_ | | | |
4| ____| | |___|___| | _______ | |___| |
5|____ | | | ___ __| | ___ | | | | |
6| ____|_ _| | ___ | | | | | | | | | | |
7| | ________|__ ___ | | | | | | | | |
8| | | | ___ | | __| | | | | | | | | |
9| | | | |__ __| |_| __| |___| | | |___|
0| | | |_| _______ |x| |_______|______ |
1| |_____________|_|_| |______ ___ | |
2|____ | _____ | __|__ ___ __| | | | |
3| | | | | | | | | | | ___ | | | | |
4| | | | | | | | | | __| |_____|___| | |
5| | | | | | | | | ___ | __ _____| |
6| | | | | | |_| | |_| ___ | | | ____|
7| |___| | |_____| | ________| | |____ |
8| | | |_____ ___| | | | | | ____|
9| | | |_ | __| | _| | | | | | | |____ |
0|___|____|_________x__|___|___|_______|
1234567890123456789012345678901234567890
"
;" HORIZONTAL-MAP without x's "
;<TELL "
_______________________________________
_____ __ ___ __
____ __ ___ _
____ ___ ___ _______ ___
____ ___ __ ___
____ _ _ ___
________ __ ___
___ __
__ __ _ __ ___ ___
_ _______ _______ ______
_____________ _ _ ______ ___
____ _____ __ __ ___ __
___
__ _____ ___
___ __ _____
_ _ ___ ____
___ _____ ________ ____
_____ ___ ____
_ __ _ ____
___ ____ _________ __ ___ ___ _______ ">
;" VERTICAL-MAP without x's "
;<TELL "
| | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | |
| | | | | | | |
| | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | | | | | | |
| | | | | | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | |
| | | | | | | | | | | | | | | |
| | | | | | |">
;" WHOLE MAP "
;<TELL "
_______________________________________
| _____ | | | __ ___ | __ | |
|____ | | | | | | | |__| |___|_ | | | |
| ____| | |___|___| | _______ | |___| |
|____ | | | ___ __| | ___ | | | | |
| ____|_ _| | ___ | | | | | | | | | | |
| | ________|__ ___ | | | | | | | | |
| | | | ___ | | __| | | | | | | | | |
| | | | |__ __| |_| __| |___| | | |___|
| | | |_| _______ |x| |_______|______ |
| |_____________|_|_| |______ ___ | |
|____ | _____ | __|__ ___ __| | | | |
| | | | | | | | | | | ___ | | | | |
| | | | | | | | | | __| |_____|___| | |
| | | | | | | | | ___ | __ _____| |
| | | | | | |_| | |_| ___ | | | ____|
| |___| | |_____| | ________| | |____ |
| | | |_____ ___| | | | | | ____|
| | | |_ | __| | _| | | | | | | |____ |
|___|____|_________x__|___|___|_______|">
;"add this info to the browsie"
;<TELL "As you ride along in the car you think to
yourself, 'Funny, after all these years, why has Aunt Hildegard sent for
me?' It has been along time since you last visted Aunt Hildegarde and
Uncle Buddy. You remember many a summer spent here at their home. You
didn't see much of Uncle Buddy then, he was too busy with his movies. Of
course it all paid off for him later. Yes, your Uncle Buddy was the
undisputed king of \"B\" movies. Until his unfortunate accident. Aunt
Hildegarde tried to carry on with the business, but she lacked your
Uncle Buddy's lack of taste, not to mention talent. Eventually, after a
string of flops, several of which are now cult classics, she sold the
studio. She made an enourmous profit and invested it wisely. Some say
she is one of the county's richest women. It will be good to see her
again.~
~
The car arrives at [Pickfair], Aunt Hildegarde's estate. The
family attorney, Bob Jones eases the car to a stop, apologzing for his
secretiveness. As you get out of the car he hands you an note, saying
\"This might open some doors for you.\" then speeds away shouting,
\"toody-loo.\"~" CR>

511
misc.zap Normal file
View File

@ -0,0 +1,511 @@
.FUNCT APRINT,OBJ
FSET? OBJ,NARTICLEBIT \?ELS3
PRINTC 32
JUMP ?CND1
?ELS3: FSET? OBJ,VOWELBIT \?ELS5
PRINTI " an "
JUMP ?CND1
?ELS5: PRINTI " a "
?CND1: CALL DPRINT,OBJ
RSTACK
.FUNCT TPRINT,OBJ
FSET? OBJ,NARTICLEBIT \?ELS3
PRINTC 32
JUMP ?CND1
?ELS3: PRINTI " the "
?CND1: CALL DPRINT,OBJ
RSTACK
.FUNCT ARPRINT,OBJ
CALL APRINT,OBJ
PRINTR "."
.FUNCT TRPRINT,OBJ
CALL TPRINT,OBJ
PRINTR "."
.FUNCT DPRINT,OBJ
GETP OBJ,P?SDESC
ZERO? STACK /?ELS5
GETP OBJ,P?SDESC
PRINT STACK
RTRUE
?ELS5: PRINTD OBJ
RTRUE
.FUNCT ULTIMATELY-IN?,OBJ,C=0
ZERO? C \?CND1
SET 'C,WINNER
?CND1: ZERO? OBJ /FALSE
IN? OBJ,C /TRUE
IN? OBJ,ROOMS /FALSE
LOC OBJ
CALL ULTIMATELY-IN?,STACK,C
RSTACK
.FUNCT GO
START::
?FCN: SET 'LIT,TRUE-VALUE
SET 'WINNER,PLAYER
GETB 0,56
EQUAL? STACK,P-PLAYER \?ELS7
GETB 0,57
EQUAL? STACK,P-WINNER /?THN4
?ELS7: GETB 0,56
EQUAL? STACK,84 \?CND1
GETB 0,57
EQUAL? STACK,79 \?CND1
GETB 0,58
EQUAL? STACK,77 \?CND1
GETB 0,59
EQUAL? STACK,65 \?CND1
GETB 0,60
EQUAL? STACK,83 \?CND1
?THN4: SET 'P-VMERGE,PLAYER
?CND1: CALL QUEUE,I-SANDS-OF-TIME,599
CALL QUEUE,I-SUNRISE,547
SET 'P-NMERGE,P-DEBUG
SET 'WHICH-END-IS-UP,RIGHT-END
SET 'CLOSET-FLOOR,FOYER
MOVE PLAYER,SOUTH-JUNCTION
SET 'HERE,SOUTH-JUNCTION
CALL QUEUE,I-NOISE,10
CALL RESET-THEM
PRINTI "As night falls the black limousine turns off the highway. It has all happened so fast, you think to yourself. Your Aunt passing away without any warning, the funeral this afternoon, and now this unusual stipulation in her will. The limo pulls up to the front of the house. ""This is the end of the line,"" says the attorney, and you step out of the back of the limo. ""Remember, your Aunt Hildegarde's will stated you will inherit her entire fortune -- if you can find the ten 'treasures' in one night.""
He hands you a photo of Uncle Buddy and a letter, saying, ""Her will instructed that I give you this photo, with the poem, to point you in the right direction. Also this letter, and here, you'll need this."" He gives you a flashlight. ""Meet me at 9 a.m. in the living room with all the 'treasures' and you'll inherit her entire estate,"" he says as the limo pulls away and disappears into the night's darkness."
CRLF
CALL V-VERSION
CRLF
CALL V-LOOK
CALL DO-MAIN-LOOP
JUMP ?FCN
.FUNCT RESET-THEM
CALL PCLEAR
SET 'P-HIM-OBJECT,NOT-HERE-OBJECT
SET 'P-HER-OBJECT,NOT-HERE-OBJECT
SET 'P-THEM-OBJECT,NOT-HERE-OBJECT
RETURN P-THEM-OBJECT
.FUNCT PCLEAR
SET 'P-CONT,FALSE-VALUE
SET 'QUOTE-FLAG,FALSE-VALUE
RETURN 2
.FUNCT DO-MAIN-LOOP,X
?PRG1: CALL MAIN-LOOP >X
JUMP ?PRG1
.FUNCT MAIN-LOOP,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,X,?TMP1
SET 'CNT,0
SET 'OBJ,FALSE-VALUE
SET 'PTBL,TRUE-VALUE
EQUAL? QCONTEXT-ROOM,HERE /?CND1
SET 'QCONTEXT,FALSE-VALUE
?CND1: CALL PARSER >P-WON
ZERO? P-WON /?ELS6
GET P-PRSI,P-MATCHLEN >ICNT
GET P-PRSO,P-MATCHLEN >OCNT
ZERO? P-IT-OBJECT /?CND7
CALL ACCESSIBLE?,P-IT-OBJECT
ZERO? STACK /?CND7
SET 'TMP,FALSE-VALUE
?PRG12: IGRTR? 'CNT,ICNT /?REP13
GET P-PRSI,CNT
EQUAL? STACK,IT \?PRG12
PUT P-PRSI,CNT,P-IT-OBJECT
SET 'TMP,TRUE-VALUE
?REP13: ZERO? TMP \?CND22
SET 'CNT,0
?PRG25: IGRTR? 'CNT,OCNT /?CND22
GET P-PRSO,CNT
EQUAL? STACK,IT \?PRG25
PUT P-PRSO,CNT,P-IT-OBJECT
?CND22: SET 'CNT,0
?CND7: ZERO? OCNT \?ELS39
PUSH OCNT
JUMP ?CND35
?ELS39: GRTR? OCNT,1 \?ELS41
SET 'TBL,P-PRSO
ZERO? ICNT \?ELS44
SET 'OBJ,FALSE-VALUE
JUMP ?CND42
?ELS44: GET P-PRSI,1 >OBJ
?CND42: PUSH OCNT
JUMP ?CND35
?ELS41: GRTR? ICNT,1 \?ELS48
SET 'PTBL,FALSE-VALUE
SET 'TBL,P-PRSI
GET P-PRSO,1 >OBJ
PUSH ICNT
JUMP ?CND35
?ELS48: PUSH 1
?CND35: SET 'NUM,STACK
ZERO? OBJ \?CND51
EQUAL? ICNT,1 \?CND51
GET P-PRSI,1 >OBJ
?CND51: EQUAL? PRSA,V?WALK \?ELS58
CALL PERFORM,PRSA,PRSO >V
JUMP ?CND56
?ELS58: ZERO? NUM \?ELS60
GETB P-SYNTAX,P-SBITS
BAND STACK,P-SONUMS
ZERO? STACK \?ELS63
CALL PERFORM,PRSA >V
SET 'PRSO,FALSE-VALUE
JUMP ?CND56
?ELS63: ZERO? LIT \?ELS65
CALL PCLEAR
CALL TOO-DARK
JUMP ?CND56
?ELS65: CALL PCLEAR
PRINTI "[There isn't anything to "
GET P-ITBL,P-VERBN >TMP
EQUAL? PRSA,V?TELL \?ELS70
PRINTI "talk to"
JUMP ?CND68
?ELS70: ZERO? P-MERGED \?THN73
ZERO? P-OFLAG /?ELS72
?THN73: GET TMP,0
PRINTB STACK
JUMP ?CND68
?ELS72: GETB TMP,2 >?TMP1
GETB TMP,3
CALL WORD-PRINT,?TMP1,STACK >V
?CND68: PRINTI "!]"
CRLF
SET 'V,FALSE-VALUE
JUMP ?CND56
?ELS60: SET 'X,0
SET 'TMP,FALSE-VALUE
?PRG79: IGRTR? 'CNT,NUM \?ELS83
GRTR? X,0 \?ELS86
PRINTI "[The "
EQUAL? X,NUM /?CND87
PRINTI "other "
?CND87: PRINTI "object"
EQUAL? X,1 /?CND90
PRINTC 115
?CND90: PRINTI " that you mentioned "
EQUAL? X,1 /?ELS95
PRINTI "are"
JUMP ?CND93
?ELS95: PRINTI "is"
?CND93: PRINTI "n't here!]"
CRLF
JUMP ?CND56
?ELS86: ZERO? TMP \?CND56
CALL REFERRING
JUMP ?CND56
?ELS83: ZERO? PTBL /?ELS104
GET P-PRSO,CNT >OBJ1
JUMP ?CND102
?ELS104: GET P-PRSI,CNT >OBJ1
?CND102: GRTR? NUM,1 /?THN111
GET P-ITBL,P-NC1
GET STACK,0
EQUAL? STACK,W?ALL,W?EVERYTHING \?CND108
?THN111: EQUAL? OBJ1,NOT-HERE-OBJECT \?ELS115
INC 'X
JUMP ?PRG79
?ELS115: EQUAL? P-GETFLAGS,P-ALL \?ELS117
CALL DONT-ALL?,OBJ1,OBJ
ZERO? STACK \?PRG79
?ELS117: CALL ACCESSIBLE?,OBJ1
ZERO? STACK /?PRG79
EQUAL? OBJ1,PLAYER /?PRG79
EQUAL? OBJ1,IT \?ELS128
FSET? P-IT-OBJECT,NARTICLEBIT /?CND129
PRINTI "The "
?CND129: CALL DPRINT,P-IT-OBJECT
JUMP ?CND126
?ELS128: FSET? OBJ1,NARTICLEBIT /?CND134
PRINTI "The "
?CND134: CALL DPRINT,OBJ1
?CND126: PRINTI ": "
?CND108: SET 'TMP,TRUE-VALUE
ZERO? PTBL /?ELS141
PUSH OBJ1
JUMP ?CND137
?ELS141: PUSH OBJ
?CND137: CALL QCONTEXT-CHECK,STACK >V
ZERO? PTBL /?ELS149
PUSH OBJ1
JUMP ?CND145
?ELS149: PUSH OBJ
?CND145: SET 'PRSO,STACK
ZERO? PTBL /?ELS157
PUSH OBJ
JUMP ?CND153
?ELS157: PUSH OBJ1
?CND153: SET 'PRSI,STACK
CALL PERFORM,PRSA,PRSO,PRSI >V
EQUAL? V,M-FATAL \?PRG79
?CND56: EQUAL? V,M-FATAL \?CND4
SET 'P-CONT,FALSE-VALUE
JUMP ?CND4
?ELS6: SET 'P-CONT,FALSE-VALUE
?CND4: ZERO? P-WON /?CND169
CALL GAME-VERB?
ZERO? STACK \?CND169
CALL CLOCKER >V
?CND169: SET 'PRSA,FALSE-VALUE
SET 'PRSO,FALSE-VALUE
SET 'PRSI,FALSE-VALUE
RETURN PRSI
.FUNCT DONT-ALL?,O,I,L
LOC O >L
EQUAL? O,I /TRUE
EQUAL? PRSA,V?TAKE \?ELS7
ZERO? I /?ELS12
CALL ULTIMATELY-IN?,O,I
ZERO? STACK /TRUE
?ELS12: ZERO? I \?ELS16
CALL ULTIMATELY-IN?,O
ZERO? STACK \TRUE
?ELS16: FSET? O,TAKEBIT /?ELS20
FSET? O,TRYTAKEBIT \TRUE
?ELS20: ZERO? I /?ELS24
EQUAL? L,I \TRUE
CALL SEE-INSIDE?,I
ZERO? STACK /TRUE
RFALSE
?ELS24: CALL META-LOC,O
EQUAL? STACK,PLAYER /FALSE
EQUAL? L,HERE /FALSE
FSET? L,SURFACEBIT /FALSE
FSET? L,ACTORBIT \TRUE
RFALSE
?ELS7: EQUAL? PRSA,V?PUT-ON,V?PUT,V?DROP /?THN47
EQUAL? PRSA,V?THROW \FALSE
?THN47: FSET? O,TAKEBIT \TRUE
EQUAL? L,PLAYER,WINNER \TRUE
RFALSE
.FUNCT GAME-VERB?,V=0
ZERO? V \?CND1
SET 'V,PRSA
?CND1: EQUAL? V,V?BRIEF,V?SCORE,V?VERBOSE /TRUE
EQUAL? V,V?QUIT,V?RESTART,V?RESTORE /TRUE
EQUAL? V,V?SAVE,V?SCRIPT,V?SUPER-BRIEF /TRUE
EQUAL? V,V?TELL,V?UNSCRIPT,V?VERSION /TRUE
EQUAL? V,V?TIME \FALSE
RTRUE
.FUNCT QCONTEXT-CHECK,PRSO,OTHER,WHO=0,N=0
EQUAL? PRSA,V?HELP /?THN6
EQUAL? PRSA,V?TELL \FALSE
EQUAL? PRSO,PLAYER \FALSE
?THN6: FIRST? HERE >OTHER /?KLU31
?KLU31:
?PRG10: ZERO? OTHER /?REP11
FSET? OTHER,ACTORBIT \?CND12
EQUAL? OTHER,PLAYER /?CND12
INC 'N
SET 'WHO,OTHER
?CND12: NEXT? OTHER >OTHER /?PRG10
JUMP ?PRG10
?REP11: EQUAL? 1,N \?CND19
ZERO? QCONTEXT \?CND19
CALL SAID-TO,WHO
?CND19: CALL QCONTEXT-GOOD?
ZERO? STACK /FALSE
EQUAL? WINNER,PLAYER \FALSE
SET 'WINNER,QCONTEXT
CALL SPOKEN-TO,QCONTEXT
RSTACK
.FUNCT SAID-TO,WHO
SET 'QCONTEXT,WHO
LOC WHO >QCONTEXT-ROOM
RETURN QCONTEXT-ROOM
.FUNCT SPOKEN-TO,WHO
CALL PCLEAR
PRINTI "[spoken to"
CALL TPRINT,WHO
PRINTR "]"
.FUNCT QCONTEXT-GOOD?
ZERO? QCONTEXT /FALSE
FSET? QCONTEXT,ACTORBIT \FALSE
EQUAL? HERE,QCONTEXT-ROOM \FALSE
CALL META-LOC,QCONTEXT
EQUAL? HERE,STACK /TRUE
RFALSE
.FUNCT ACCESSIBLE?,OBJ
FSET? OBJ,INVISIBLE /FALSE
CALL META-LOC,OBJ
EQUAL? STACK,WINNER,HERE,GLOBAL-OBJECTS /TRUE
CALL VISIBLE?,OBJ
ZERO? STACK /FALSE
RTRUE
.FUNCT VISIBLE?,OBJ,L
LOC OBJ >L
ZERO? L /FALSE
FSET? OBJ,INVISIBLE /FALSE
EQUAL? L,GLOBAL-OBJECTS /FALSE
EQUAL? L,PLAYER,HERE,WINNER /TRUE
EQUAL? L,LOCAL-GLOBALS \?ELS13
CALL GLOBAL-IN?,OBJ,HERE
ZERO? STACK \TRUE
?ELS13: CALL SEE-INSIDE?,L
ZERO? STACK /FALSE
CALL VISIBLE?,L
ZERO? STACK /FALSE
RTRUE
.FUNCT SEE-INSIDE?,CONTAINER
ZERO? P-MOBY-FLAG \TRUE
FSET? CONTAINER,SURFACEBIT /TRUE
FSET? CONTAINER,CONTBIT \?ELS10
FSET? CONTAINER,OPENBIT /TRUE
FSET? CONTAINER,TRANSBIT \FALSE
RTRUE
?ELS10: FSET? CONTAINER,ACTORBIT \FALSE
EQUAL? CONTAINER,PLAYER /FALSE
RTRUE
.FUNCT META-LOC,OBJ
?PRG1: ZERO? OBJ /FALSE
IN? OBJ,GLOBAL-OBJECTS \?ELS7
RETURN GLOBAL-OBJECTS
?ELS7: IN? OBJ,ROOMS \?ELS9
RETURN OBJ
?ELS9: LOC OBJ >OBJ
JUMP ?PRG1
.FUNCT DEQUEUE,RTN
CALL QUEUED?,RTN >RTN
ZERO? RTN /FALSE
PUT RTN,C-RTN,0
RTRUE
.FUNCT QUEUE,RTN,TICK,C,E,INT=0
ADD C-TABLE,C-TABLELEN >E
ADD C-TABLE,C-INTS >C
?PRG1: EQUAL? C,E \?ELS5
ZERO? INT /?ELS8
SET 'C,INT
JUMP ?CND6
?ELS8: SUB C-INTS,C-INTLEN >C-INTS
ADD C-TABLE,C-INTS >INT
?CND6: PUT INT,C-RTN,RTN
JUMP ?REP2
?ELS5: GET C,C-RTN
EQUAL? STACK,RTN \?ELS13
SET 'INT,C
JUMP ?REP2
?ELS13: GET C,C-RTN
ZERO? STACK \?CND3
SET 'INT,C
?CND3: ADD C,C-INTLEN >C
JUMP ?PRG1
?REP2: GRTR? INT,CLOCK-HAND \?CND16
ADD TICK,3
SUB 0,STACK >TICK
?CND16: PUT INT,C-TICK,TICK
RETURN INT
.FUNCT QUEUED?,RTN,C,E
ADD C-TABLE,C-TABLELEN >E
ADD C-TABLE,C-INTS >C
?PRG1: EQUAL? C,E /FALSE
GET C,C-RTN
EQUAL? STACK,RTN \?CND3
GET C,C-TICK
ZERO? STACK /FALSE
RETURN C
?CND3: ADD C,C-INTLEN >C
JUMP ?PRG1
.FUNCT CLOCKER,E,TICK,RTN,FLG=0,Q?=0,OWINNER
ZERO? CLOCK-WAIT /?CND1
SET 'CLOCK-WAIT,FALSE-VALUE
RFALSE
?CND1: ADD C-TABLE,C-INTS >CLOCK-HAND
ADD C-TABLE,C-TABLELEN >E
SET 'OWINNER,WINNER
SET 'WINNER,PLAYER
?PRG5: EQUAL? CLOCK-HAND,E \?ELS9
INC 'MOVES
SET 'WINNER,OWINNER
RETURN FLG
?ELS9: GET CLOCK-HAND,C-RTN
ZERO? STACK /?CND7
GET CLOCK-HAND,C-TICK >TICK
LESS? TICK,-1 \?ELS14
SUB 0,TICK
SUB STACK,3
PUT CLOCK-HAND,C-TICK,STACK
SET 'Q?,CLOCK-HAND
JUMP ?CND7
?ELS14: ZERO? TICK /?CND7
GRTR? TICK,0 \?CND17
DEC 'TICK
PUT CLOCK-HAND,C-TICK,TICK
?CND17: ZERO? TICK /?CND20
SET 'Q?,CLOCK-HAND
?CND20: GRTR? TICK,0 /?CND7
GET CLOCK-HAND,C-RTN >RTN
ZERO? TICK \?CND26
PUT CLOCK-HAND,C-RTN,0
?CND26: CALL RTN
ZERO? STACK /?CND29
SET 'FLG,TRUE-VALUE
?CND29: ZERO? Q? \?CND7
GET CLOCK-HAND,C-RTN
ZERO? STACK /?CND7
SET 'Q?,TRUE-VALUE
?CND7: ADD CLOCK-HAND,C-INTLEN >CLOCK-HAND
ZERO? Q? \?PRG5
ADD C-INTS,C-INTLEN >C-INTS
JUMP ?PRG5
.FUNCT FIXED-FONT-ON
GET 0,8
BOR STACK,2
PUT 0,8,STACK
RTRUE
.FUNCT FIXED-FONT-OFF
GET 0,8
BAND STACK,-3
PUT 0,8,STACK
RTRUE
.ENDI

934
misc.zil Normal file
View File

@ -0,0 +1,934 @@
"MISC for ANTHILL (C)1986 Infocom Inc. All Rights Reserved."
<SETG C-ENABLED? 0>
<SETG C-ENABLED 1>
<SETG C-DISABLED 0>
<TELL-TOKENS (CRLF CR) <CRLF>
D * <DPRINT .X>
A * <APRINT .X>
T * <TPRINT .X>
AR * <ARPRINT .X>
TR * <TRPRINT .X>
N * <PRINTN .X>
C * <PRINTC .X>>
;<DEFMAC TELL ("ARGS" A)
<FORM PROG ()
!<MAPF ,LIST
<FUNCTION ("AUX" E P O)
<COND (<EMPTY? .A> <MAPSTOP>)
(<SET E <NTH .A 1>>
<SET A <REST .A>>)>
<COND (<TYPE? .E ATOM>
<COND (<OR <=? <SET P <SPNAME .E>>
"CRLF">
<=? .P "CR">>
<MAPRET '<CRLF>>)
(<EMPTY? .A>
<ERROR INDICATOR-AT-END? .E>)
(ELSE
<SET O <NTH .A 1>>
<SET A <REST .A>>
<COND (<OR <=? <SET P <SPNAME .E>>
"DESC">
<=? .P "D">
<=? .P "OBJ">
<=? .P "O">>
<MAPRET <FORM DPRINT .O>>)
(<=? <SET P <SPNAME .E>> "A">
<MAPRET <FORM APRINT .O>>)
(<=? <SET P <SPNAME .E>> "T">
<MAPRET <FORM TPRINT .O>>)
(<=? <SET P <SPNAME .E>> "AR">
<MAPRET <FORM ARPRINT .O>>)
(<=? <SET P <SPNAME .E>> "TR">
<MAPRET <FORM TRPRINT .O>>)
(<OR <=? .P "NUM">
<=? .P "N">>
<MAPRET <FORM PRINTN .O>>)
(<OR <=? .P "CHAR">
<=? .P "CHR">
<=? .P "C">>
<MAPRET <FORM PRINTC .O>>)
(ELSE
<MAPRET
<FORM PRINT
<FORM GETP .O .E>>>)>)>)
(<TYPE? .E STRING ZSTRING>
<MAPRET <FORM PRINTI .E>>)
(<TYPE? .E FORM LVAL GVAL>
<MAPRET <FORM PRINT .E>>)
(ELSE <ERROR UNKNOWN-TYPE .E>)>>>>>
<DEFMAC VERB? ("ARGS" ATMS)
<MULTIFROB PRSA .ATMS>>
<DEFMAC PRSO? ("ARGS" ATMS)
<MULTIFROB PRSO .ATMS>>
<DEFMAC PRSI? ("ARGS" ATMS)
<MULTIFROB PRSI .ATMS>>
<DEFMAC ROOM? ("ARGS" ATMS)
<MULTIFROB HERE .ATMS>>
<DEFINE MULTIFROB (X ATMS "AUX" (OO (OR)) (O .OO) (L ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .OO 1> <ERROR .X>)
(<LENGTH? .OO 2> <NTH .OO 2>)
(ELSE <CHTYPE .OO FORM>)>>)>
<REPEAT ()
<COND (<EMPTY? .ATMS> <RETURN!->)>
<SET ATM <NTH .ATMS 1>>
<SET L
(<COND (<TYPE? .ATM ATOM>
<CHTYPE <COND (<==? .X PRSA>
<PARSE
<STRING "V?"
<SPNAME .ATM>>>)
(ELSE .ATM)> GVAL>)
(ELSE .ATM)>
!.L)>
<SET ATMS <REST!- .ATMS>>
<COND (<==? <LENGTH .L> 3> <RETURN!->)>>
<SET O <REST!- <PUTREST .O
(<FORM EQUAL? <CHTYPE .X GVAL> !.L>)>>>
<SET L ()>>>
<DEFMAC BSET ('OBJ "ARGS" BITS)
<MULTIBITS FSET .OBJ .BITS>>
<DEFMAC BCLEAR ('OBJ "ARGS" BITS)
<MULTIBITS FCLEAR .OBJ .BITS>>
<DEFMAC BSET? ('OBJ "ARGS" BITS)
<MULTIBITS FSET? .OBJ .BITS>>
<DEFINE MULTIBITS (X OBJ ATMS "AUX" (O ()) ATM)
<REPEAT ()
<COND (<EMPTY? .ATMS>
<RETURN!- <COND (<LENGTH? .O 1> <NTH .O 1>)
(<EQUAL? .X FSET?> <FORM OR !.O>)
(ELSE <FORM PROG () !.O>)>>)>
<SET ATM <NTH .ATMS 1>>
<SET ATMS <REST .ATMS>>
<SET O
(<FORM .X
.OBJ
<COND (<TYPE? .ATM FORM> .ATM)
(ELSE <FORM GVAL .ATM>)>>
!.O)>>>
<DEFMAC RFATAL ()
'<PROG () <PUSH 2> <RSTACK>>>
<DEFMAC PROB ('BASE?)
<FORM NOT <FORM L? .BASE? '<RANDOM 100>>>>
; <DEFMAC PROB ('BASE? "OPTIONAL" 'LOSER?)
<COND (<ASSIGNED? LOSER?> <FORM ZPROB .BASE?>)
(ELSE <FORM G? .BASE? '<RANDOM 100>>)>>
<DEFMAC OPENABLE? ('OBJ)
<FORM OR <FORM FSET? .OBJ ',DOORBIT>
<FORM FSET? .OBJ ',CONTBIT>>>
<DEFMAC ABS ('NUM)
<FORM COND (<FORM L? .NUM 0> <FORM - 0 .NUM>)
(T .NUM)>>
"a bunch of plus-mode stuff"
<DEFMAC GET-REXIT-ROOM ('PT)
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<FORM GET .PT ',REXIT>)
(T <FORM GETB .PT ',REXIT>)>>
<DEFMAC GET-DOOR-OBJ ('PT)
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<FORM GET .PT ',DEXITOBJ>)
(T <FORM GETB .PT ',DEXITOBJ>)>>
<DEFMAC GET/B ('TBL 'PTR)
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<FORM GET .TBL .PTR>)
(T <FORM GETB .TBL .PTR>)>>
<DEFMAC RMGL-SIZE ('TBL)
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<FORM - <FORM / <FORM PTSIZE .TBL> 2> 1>)
(T <FORM - <FORM PTSIZE .TBL> 1>)>>
;<DEFMAC IN/LOC ('LOC)
<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
<LIST LOC .LOC>)
(T
<LIST IN .LOC>)>>
<ROUTINE APRINT (OBJ)
<COND (<FSET? .OBJ ,NARTICLEBIT>
<TELL " ">)
(<FSET? .OBJ ,VOWELBIT>
<TELL " an ">)
(T
<TELL " a ">)>
<DPRINT .OBJ>>
<ROUTINE TPRINT (OBJ)
<COND (<FSET? .OBJ ,NARTICLEBIT>
<TELL " ">)
(T
<TELL " the ">)>
<DPRINT .OBJ>>
<ROUTINE ARPRINT (OBJ)
<APRINT .OBJ>
<TELL "." CR>>
<ROUTINE TRPRINT (OBJ)
<TPRINT .OBJ>
<TELL "." CR>>
<ROUTINE DPRINT (OBJ)
<COND (<GETP .OBJ ,P?SDESC>
<TELL <GETP .OBJ ,P?SDESC>>)
(T
<PRINTD .OBJ>)>>
<DEFINE PSEUDO ("TUPLE" V)
<MAPF ,PLTABLE
<FUNCTION (OBJ)
<COND (<N==? <LENGTH .OBJ> 3>
<ERROR BAD-THING .OBJ>)>
<MAPRET <COND (<NTH .OBJ 2>
<VOC <SPNAME <NTH .OBJ 2>> NOUN>)>
<COND (<NTH .OBJ 1>
<VOC <SPNAME <NTH .OBJ 1>> ADJECTIVE>)>
<3 .OBJ>>>
.V>>
<ROUTINE ULTIMATELY-IN? (OBJ "OPTIONAL" (C <>)) ;"formerly HELD?"
<COND (<NOT .C>
<SET C ,WINNER>)>
<COND (<NOT .OBJ>
<RFALSE>)
(<IN? .OBJ .C>
<RTRUE>)
(<IN? .OBJ ,ROOMS>
<RFALSE>)
;(<IN? .OBJ ,GLOBAL-OBJECTS>
<RFALSE>)
(T
<ULTIMATELY-IN? <LOC .OBJ> .C>)>>
"*** ZCODE STARTS HERE ***"
"NOTE: This object MUST be the FIRST one defined (for MOBY-FIND)!"
<OBJECT DUMMY-OBJECT>
<ZSTART GO>
<ROUTINE GO ()
%<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE>
'<PROG ()
<INIT-STATUS-LINE>
<SETG LIT T>>)
(T '<SETG LIT T>)>
<SETG WINNER ,PLAYER>
<COND (<OR <AND <EQUAL? <GETB 0 56> ,P-PLAYER>
<EQUAL? <GETB 0 57> ,P-WINNER>>
<AND <EQUAL? <GETB 0 56> 84>
<EQUAL? <GETB 0 57> 79>
<EQUAL? <GETB 0 58> 77>
<EQUAL? <GETB 0 59> 65>
<EQUAL? <GETB 0 60> 83>>>
<SETG P-VMERGE ,PLAYER>)>
%<COND (<GASSIGNED? ZILCH>
'<QUEUE I-SANDS-OF-TIME 599>) ;"ZIP"
(T
'<QUEUE I-SANDS-OF-TIME 600>)> ;"ZIL"
;"setting globals here because of compilier weirdness"
;<SETG BUCK-TURNS 3>
;<SETG BUCK-WON 3>
%<COND (<GASSIGNED? ZILCH>
'<QUEUE I-SUNRISE 547>) ;"ZIP"
(T
'<QUEUE I-SUNRISE 548>)> ;"ZIL"
<SETG P-NMERGE ,P-DEBUG>
<SETG WHICH-END-IS-UP ,RIGHT-END>
<SETG CLOSET-FLOOR ,FOYER>
;<SETG POINT> ;"a piece of something, what I don't know"
<MOVE ,PLAYER ,SOUTH-JUNCTION>
<SETG HERE ,SOUTH-JUNCTION>
;<QUEUE I-LIGHTS-DIM 50>
;<QUEUE I-ARMOR-MOVE 30>
<QUEUE I-NOISE 10>
<RESET-THEM>
;<QUEUE I-PROMPT 1>
<TELL
"As night falls the black limousine turns off the highway. It has all
happened so fast, you think to yourself. Your Aunt passing away without
any warning, the funeral this afternoon, and now this unusual
stipulation in her will. The limo pulls up to the front of the house.
\"This is the end of the line,\" says the attorney, and you step out of
the back of the limo. \"Remember, your Aunt Hildegarde's will stated you
will inherit her entire fortune -- if you can find the ten 'treasures'
in one night.\"~
~
He hands you a photo of Uncle Buddy and a letter, saying, \"Her will
instructed that I give you this photo, with the poem, to point you in the
right direction. Also this letter, and here, you'll need this.\" He gives
you a flashlight. \"Meet me at 9 a.m. in the living room with all the
'treasures' and you'll inherit her entire estate,\" he says as the limo
pulls away and disappears into the night's darkness." CR>
;<TELL
"As night falls the black limousine turns off the highway. \"And of course
most people say the old place is haunted,\" he adds. Until now you were
only half listening, your thoughts clouded after hearing the unusual
stipulation of her will. But the word \"haunted\" clears your head,
commanding full attention. The limo pulls up to the front of the house.
\"This is the end of the line,\" says the attorney, and you step out of
the back of the limo. \"Remember, your Aunt Hildegarde's will stated you
will inherit her entire fortune -- if you can find the ten 'treasures'
in one night.\"~
~
He hands you a photo of Uncle Buddy and a letter, saying \"Her will
instructed I give you this photo, with the poem, to point you in the
right direction. Also this letter, and here you'll need this.\" He gives
you a flashlight. \"Meet me at 9 a.m. in the living room with all the
'treasures' and you'll inherit her entire estate,\" he says as the limo
pulls away and disappears into the night's darkness." CR>
<V-VERSION>
<CRLF>
<V-LOOK>
<DO-MAIN-LOOP>
<AGAIN>>
<ROUTINE RESET-THEM ()
<PCLEAR>
<SETG P-HIM-OBJECT ,NOT-HERE-OBJECT>
<SETG P-HER-OBJECT ,NOT-HERE-OBJECT>
<SETG P-THEM-OBJECT ,NOT-HERE-OBJECT>>
<ROUTINE PCLEAR ()
<SETG P-CONT <>>
<SETG QUOTE-FLAG <>>
<RFATAL>>
;<ZSTART GO> ;"so ZIL won't get confused between word GO and routine GO"
<ROUTINE DO-MAIN-LOOP ("AUX" X)
<REPEAT ()
<SET X <MAIN-LOOP>>>>
<ROUTINE MAIN-LOOP ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP X)
<SET CNT 0>
<SET OBJ <>>
<SET PTBL T>
<COND (<NOT <EQUAL? ,QCONTEXT-ROOM ,HERE>>
<SETG QCONTEXT <>>)>
<COND (<SETG P-WON <PARSER>>
<SET ICNT <GET ,P-PRSI ,P-MATCHLEN>>
<SET OCNT <GET ,P-PRSO ,P-MATCHLEN>>
<COND (<AND ,P-IT-OBJECT
<ACCESSIBLE? ,P-IT-OBJECT>>
<SET TMP <>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .ICNT>
<RETURN>)
(T
<COND (<EQUAL? <GET ,P-PRSI .CNT> ,IT>
<PUT ,P-PRSI .CNT ,P-IT-OBJECT>
<SET TMP T>
<RETURN>)>)>>
<COND (<NOT .TMP>
<SET CNT 0>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .OCNT>
<RETURN>)
(T
<COND (<EQUAL? <GET ,P-PRSO .CNT> ,IT>
<PUT ,P-PRSO .CNT ,P-IT-OBJECT>
<RETURN>)>)>>)>
<SET CNT 0>)>
<SET NUM
<COND (<ZERO? .OCNT>
.OCNT)
(<G? .OCNT 1>
<SET TBL ,P-PRSO>
<COND (<ZERO? .ICNT>
<SET OBJ <>>)
(T
<SET OBJ <GET ,P-PRSI 1>>)>
.OCNT)
(<G? .ICNT 1>
<SET PTBL <>>
<SET TBL ,P-PRSI>
<SET OBJ <GET ,P-PRSO 1>>
.ICNT)
(T
1)>>
<COND (<AND <NOT .OBJ>
<1? .ICNT>>
<SET OBJ <GET ,P-PRSI 1>>)>
<COND (<EQUAL? ,PRSA ,V?WALK>
<SET V <PERFORM ,PRSA ,PRSO>>)
(<ZERO? .NUM>
<COND (<ZERO? <BAND <GETB ,P-SYNTAX ,P-SBITS> ,P-SONUMS>>
<SET V <PERFORM ,PRSA>>
<SETG PRSO <>>)
(<NOT ,LIT>
<PCLEAR>
<TOO-DARK>)
(T
<PCLEAR>
<TELL "[There isn't anything to ">
<SET TMP <GET ,P-ITBL ,P-VERBN>>
<COND (<VERB? TELL>
<TELL "talk to">)
(<OR ,P-MERGED ,P-OFLAG>
<PRINTB <GET .TMP 0>>)
(T
<SET V <WORD-PRINT <GETB .TMP 2>
<GETB .TMP 3>>>)>
<TELL "!]" CR>
<SET V <>>)>)
; (<AND .PTBL <G? .NUM 1> <VERB? COMPARE>>
<SET V <PERFORM ,PRSA ,OBJECT-PAIR>>)
(T
<SET X 0>
;"<SETG P-MULT <>>
<COND (<G? .NUM 1> <SETG P-MULT T>)>"
<SET TMP <>>
<REPEAT ()
<COND (<G? <SET CNT <+ .CNT 1>> .NUM>
<COND (<G? .X 0>
<TELL "[The ">
<COND (<NOT <EQUAL? .X .NUM>>
<TELL "other ">)>
<TELL "object">
<COND (<NOT <EQUAL? .X 1>>
<TELL "s">)>
<TELL " that you mentioned ">
<COND (<NOT <EQUAL? .X 1>>
<TELL "are">)
(T <TELL "is">)>
<TELL "n't here!]" CR>)
(<NOT .TMP>
<REFERRING>)>
<RETURN>)
(T
<COND (.PTBL
<SET OBJ1 <GET ,P-PRSO .CNT>>)
(T
<SET OBJ1 <GET ,P-PRSI .CNT>>)>
<COND (<OR <G? .NUM 1>
<EQUAL? <GET <GET ,P-ITBL ,P-NC1> 0> ,W?ALL ,W?EVERYTHING>>
<COND (<EQUAL? .OBJ1 ,NOT-HERE-OBJECT>
<SET X <+ .X 1>>
<AGAIN>)
(<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
<DONT-ALL? .OBJ1 .OBJ>>
<AGAIN>)
; (<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
<VERB-ALL-TEST .OBJ1 .OBJ>>
<AGAIN>)
; (<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
<VERB? TAKE>
<OR <AND <NOT <EQUAL? <LOC .OBJ1> ,WINNER ,HERE>>
<NOT <FSET? <LOC .OBJ1> ,SURFACEBIT>>>
<NOT <OR <FSET? .OBJ1 ,TAKEBIT>
<FSET? .OBJ1 ,TRYTAKEBIT>>>>>
<AGAIN>)
; (<AND <EQUAL? ,P-GETFLAGS ,P-ALL>
<VERB? DROP PUT GIVE PUT-ON PUT-UNDER
PUT-BEHIND THROW>
<NOT <IN? .OBJ1 ,WINNER>>
<NOT <IN? ,P-IT-OBJECT ,WINNER>>>
<AGAIN>)
(<NOT <ACCESSIBLE? .OBJ1>>
<AGAIN>)
(<EQUAL? .OBJ1 ,PLAYER ; ,POCKET>
<AGAIN>)
(T
<COND (<EQUAL? .OBJ1 ,IT>
<COND (<NOT <FSET? ,P-IT-OBJECT ,NARTICLEBIT>>
<TELL "The ">)>
<DPRINT ,P-IT-OBJECT>)
(T
<COND (<NOT <FSET? .OBJ1 ,NARTICLEBIT>>
<TELL "The ">)>
<DPRINT .OBJ1>)>
<TELL ": ">)>)>
<SET TMP T>
<SET V <QCONTEXT-CHECK <COND (.PTBL
.OBJ1)
(T
.OBJ)>>>
<SETG PRSO <COND (.PTBL
.OBJ1)
(T
.OBJ)>>
<SETG PRSI <COND (.PTBL
.OBJ)
(T
.OBJ1)>>
<SET V <PERFORM ,PRSA ,PRSO ,PRSI>>
<COND (<EQUAL? .V ,M-FATAL>
<RETURN>)>)>>)>
;<COND (<NOT <EQUAL? .V ,M-FATAL>>
<COND (<GAME-VERB?>
T)
(T
<SET V <APPLY <GETP <LOC ,WINNER> ,P?ACTION>
,M-END>>)>)>
;<COND (<GAME-VERB?>
T)
(<VERB? AGAIN>
T)
(,P-OFLAG
T)
(T
<SETG L-PRSA ,PRSA>
<SETG L-PRSO ,PRSO>
<SETG L-PRSI ,PRSI>)>
<COND (<EQUAL? .V ,M-FATAL>
<SETG P-CONT <>>)>)
(T
<SETG P-CONT <>>)>
<COND (,P-WON
<COND (<GAME-VERB?>
T)
;(<AND <VERB? AGAIN>
<GAME-VERB? ,L-PRSA>>
T)
(T
<SET V <CLOCKER>>)>)>
<SETG PRSA <>>
<SETG PRSO <>>
<SETG PRSI <>>>
<ROUTINE DONT-ALL? (O I "AUX" L)
<SET L <LOC .O>>
<COND (<EQUAL? .O .I>
<RTRUE>)
(<VERB? TAKE>
<COND (<AND .I <NOT <ULTIMATELY-IN? .O .I>>>
<RTRUE>)
(<AND <NOT .I> <ULTIMATELY-IN? .O>>
<RTRUE>)
(<AND <NOT <FSET? .O ,TAKEBIT>>
<NOT <FSET? .O ,TRYTAKEBIT>>>
<RTRUE>)
(.I
<COND (<NOT <EQUAL? .L .I>>
<RTRUE>)
(<SEE-INSIDE? .I>
<RFALSE>)
(T
<RTRUE>)>)
(<EQUAL? <META-LOC .O> ,PLAYER>
<RFALSE>)
(<EQUAL? .L ,HERE>
<RFALSE>)
(<FSET? .L ,SURFACEBIT>
<RFALSE>)
(<FSET? .L ,ACTORBIT>
<RFALSE>)
(T
<RTRUE>)>)
(<VERB? DROP PUT PUT-ON THROW>
<COND (<NOT <FSET? .O ,TAKEBIT>>
<RTRUE>)
(<EQUAL? .L ,PLAYER ,WINNER>
<RFALSE>)
;(<AND .L
<EQUAL? <LOC .L> ,PLAYER ,WINNER>>
<RFALSE>)
(T
<RTRUE>)>)
(T
<RFALSE>)>>
; <ROUTINE ENABLED? (RTN "AUX" C E)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<==? .C .E> <RFALSE>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<COND (<ZERO? <GET .C ,C-ENABLED?>> <RFALSE>)
(T <RTRUE>)>)>
<SET C <REST .C ,C-INTLEN>>>>
; <ROUTINE QUEUED? (RTN "AUX" C E)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<==? .C .E> <RFALSE>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<COND (<OR <ZERO? <GET .C ,C-ENABLED?>>
<ZERO? <GET .C ,C-TICK>>>
<RFALSE>)
(T <RTRUE>)>)>
<SET C <REST .C ,C-INTLEN>>>>
<ROUTINE GAME-VERB? ("OPTIONAL" (V <>))
<COND (<NOT .V>
<SET V ,PRSA>)>
<COND (<OR <EQUAL? .V ,V?BRIEF ,V?SCORE ,V?VERBOSE>
<EQUAL? .V ,V?QUIT ,V?RESTART ,V?RESTORE>
<EQUAL? .V ,V?SAVE ,V?SCRIPT ,V?SUPER-BRIEF>
<EQUAL? .V ,V?TELL ,V?UNSCRIPT ,V?VERSION>
<EQUAL? .V ,V?TIME ; ,V?INVENTORY>>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE QCONTEXT-CHECK (PRSO "AUX" OTHER (WHO <>) (N 0))
<COND (<OR <VERB? HELP ; FIND ; WHAT>
<AND <VERB? TELL ;SHOW>
<==? .PRSO ,PLAYER>>> ;"? more?"
<SET OTHER <FIRST? ,HERE>>
<REPEAT ()
<COND (<NOT .OTHER>
<RETURN>)
(<AND <FSET? .OTHER ,ACTORBIT>
; <NOT <FSET? .OTHER ,INVISIBLE>>
<NOT <==? .OTHER ,PLAYER>>>
<SET N <+ 1 .N>>
<SET WHO .OTHER>)>
<SET OTHER <NEXT? .OTHER>>>
<COND (<AND <==? 1 .N>
<NOT ,QCONTEXT>>
<SAID-TO .WHO>)>
<COND (<AND <QCONTEXT-GOOD?>
<==? ,WINNER ,PLAYER>> ;"? more?"
;<SETG L-WINNER ,WINNER>
<SETG WINNER ,QCONTEXT>
; <TELL "[said to" D ,QCONTEXT "]" CR>
<SPOKEN-TO ,QCONTEXT>)>)>>
<ROUTINE SAID-TO (WHO)
<SETG QCONTEXT .WHO>
<SETG QCONTEXT-ROOM <LOC .WHO>>>
<ROUTINE SPOKEN-TO (WHO)
<PCLEAR>
<TELL "[spoken to" T .WHO "]" CR>>
<ROUTINE QCONTEXT-GOOD? ()
<COND (<AND <NOT <ZERO? ,QCONTEXT>>
<FSET? ,QCONTEXT ,ACTORBIT>
; <NOT <FSET? ,QCONTEXT ,INVISIBLE>>
<==? ,HERE ,QCONTEXT-ROOM>
<==? ,HERE <META-LOC ,QCONTEXT>>>
<RTRUE>)>>
<ROUTINE ACCESSIBLE? (OBJ)
<COND (<FSET? .OBJ ,INVISIBLE>
<RFALSE>)
(<EQUAL? <META-LOC .OBJ> ,WINNER ,HERE ,GLOBAL-OBJECTS>
<RTRUE>)
(<VISIBLE? .OBJ>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE VISIBLE? (OBJ "AUX" L)
<SET L <LOC .OBJ>>
<COND (<NOT .L>
<RFALSE>)
(<FSET? .OBJ ,INVISIBLE>
<RFALSE>)
(<EQUAL? .L ,GLOBAL-OBJECTS>
<RFALSE>)
(<EQUAL? .L ,PLAYER ,HERE ,WINNER>
<RTRUE>)
(<AND <EQUAL? .L ,LOCAL-GLOBALS>
<GLOBAL-IN? .OBJ ,HERE>>
<RTRUE>)
(<AND <SEE-INSIDE? .L>
<VISIBLE? .L>>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE SEE-INSIDE? (CONTAINER)
<COND (,P-MOBY-FLAG
<RTRUE>)
(<FSET? .CONTAINER ,SURFACEBIT>
<RTRUE>)
(<FSET? .CONTAINER ,CONTBIT>
<COND (<OR <FSET? .CONTAINER ,OPENBIT>
<FSET? .CONTAINER ,TRANSBIT>>
<RTRUE>)
(T
<RFALSE>)>)
(<AND <FSET? .CONTAINER ,ACTORBIT>
<NOT <EQUAL? .CONTAINER ,PLAYER>>>
<RTRUE>)
(T
<RFALSE>)>>
<ROUTINE META-LOC (OBJ)
<REPEAT ()
<COND (<NOT .OBJ>
<RFALSE>)
(<IN? .OBJ ,GLOBAL-OBJECTS>
<RETURN ,GLOBAL-OBJECTS>)
(<IN? .OBJ ,ROOMS>
<RETURN .OBJ>)
;(<FSET? .OBJ ,INVISIBLE>
<RFALSE>) ;"PDL SAID NO WAY"
(T
<SET OBJ <LOC .OBJ>>)>>>
;"------ New Clock Stuff from Spellbreaker ------"
;"former CLOCK.ZIL stuff"
<GLOBAL CLOCK-WAIT <>>
<GLOBAL C-TABLE %<COND (<GASSIGNED? ZILCH>
'<ITABLE NONE 26>)
(T
'<ITABLE NONE 52>)>>
<CONSTANT C-TABLELEN 52>
<GLOBAL C-INTS 52>
;<DEBUG-CODE <GLOBAL C-MAXINTS 52>>
<CONSTANT C-INTLEN 4> ;"length of an interrupt entry"
<CONSTANT C-RTN 0> ;"offset of routine name"
<CONSTANT C-TICK 1> ;"offset of count"
<ROUTINE DEQUEUE (RTN)
<COND (<SET RTN <QUEUED? .RTN>>
<PUT .RTN ,C-RTN 0>)>>
"this version of QUEUE automatically enables as well"
<ROUTINE QUEUE (RTN TICK "AUX" C E (INT <>))
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<COND (.INT
<SET C .INT>)
(ELSE
;<DEBUG-CODE
<COND (<L? ,C-INTS ,C-INTLEN>
<TELL
"[**Too many interrupts!**]" CR>)>>
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
;<DEBUG-CODE
<COND (<L? ,C-INTS ,C-MAXINTS>
<SETG C-MAXINTS ,C-INTS>)>>
<SET INT <REST ,C-TABLE ,C-INTS>>)>
<PUT .INT ,C-RTN .RTN>
<RETURN>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<SET INT .C>
<RETURN>)
(<ZERO? <GET .C ,C-RTN>>
<SET INT .C>)>
<SET C <REST .C ,C-INTLEN>>>
<COND (%<COND (<GASSIGNED? ZILCH>
'<G? .INT ,CLOCK-HAND>)
(ELSE
'<L? <LENGTH .INT> <LENGTH ,CLOCK-HAND>>)>
<SET TICK <- <+ .TICK 3>>>)>
<PUT .INT ,C-TICK .TICK>
.INT>
<ROUTINE QUEUED? (RTN "AUX" C E)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E> <RFALSE>)
(<EQUAL? <GET .C ,C-RTN> .RTN>
<COND (<ZERO? <GET .C ,C-TICK>>
<RFALSE>)
(T <RETURN .C>)>)>
<SET C <REST .C ,C-INTLEN>>>>
<GLOBAL CLOCK-HAND <>>
<ROUTINE CLOCKER ("AUX" E TICK RTN (FLG <>) (Q? <>) OWINNER)
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
<SETG CLOCK-HAND <REST ,C-TABLE ,C-INTS>>
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET OWINNER ,WINNER>
<SETG WINNER ,PLAYER>
<REPEAT ()
<COND (<EQUAL? ,CLOCK-HAND .E>
<SETG MOVES <+ ,MOVES 1>>
<SETG WINNER .OWINNER>
<RETURN .FLG>)
(<NOT <ZERO? <GET ,CLOCK-HAND ,C-RTN>>>
<SET TICK <GET ,CLOCK-HAND ,C-TICK>>
<COND (<L? .TICK -1>
<PUT ,CLOCK-HAND ,C-TICK <- <- .TICK> 3>>
<SET Q? ,CLOCK-HAND>)
(<NOT <ZERO? .TICK>>
<COND (<G? .TICK 0>
<SET TICK <- .TICK 1>>
<PUT ,CLOCK-HAND ,C-TICK .TICK>)>
<COND (<NOT <ZERO? .TICK>>
<SET Q? ,CLOCK-HAND>)>
<COND (<NOT <G? .TICK 0>>
<SET RTN
%<COND (<GASSIGNED? ZILCH>
'<GET ,CLOCK-HAND ,C-RTN>)
(ELSE
'<NTH ,CLOCK-HAND
<+ <* ,C-RTN 2>
1>>)>>
<COND (<ZERO? .TICK>
<PUT ,CLOCK-HAND ,C-RTN 0>)>
<COND (%<COND
;(,ZDEBUGGING?
'<II-APPLY "Int" .RTN>)
(ELSE
'<APPLY .RTN>)>
<SET FLG T>)>
<COND (<AND <NOT .Q?>
<NOT
<ZERO?
<GET ,CLOCK-HAND
,C-RTN>>>>
<SET Q? T>)>)>)>)>
<SETG CLOCK-HAND <REST ,CLOCK-HAND ,C-INTLEN>>
<COND (<NOT .Q?>
<SETG C-INTS <+ ,C-INTS ,C-INTLEN>>)>>>
"-------- Old clocker stuff ------"
;<CONSTANT C-TABLELEN 330>
;"already semied" ; <GLOBAL C-TABLE <ITABLE NONE 300>>
;<GLOBAL C-TABLE %<COND (<GASSIGNED? PREDGEN>
'<ITABLE NONE 165>)
(T
'<ITABLE NONE 330>)>>
;<GLOBAL C-DEMONS 330>
;<GLOBAL C-INTS 330>
;<CONSTANT C-INTLEN 6>
;<CONSTANT C-ENABLED? 0>
;<CONSTANT C-TICK 1>
;<CONSTANT C-RTN 2>
;"already semied" ; <ROUTINE DEMON (RTN TICK "AUX" CINT)
#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
<PUT <SET CINT <INT .RTN T>> ,C-TICK .TICK>
.CINT>
;<ROUTINE QUEUE (RTN TICK "AUX" CINT)
#DECL ((RTN) ATOM (TICK) FIX (CINT) <PRIMTYPE VECTOR>)
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
.CINT>
;<ROUTINE INT (RTN "OPTIONAL" (DEMON <>) E C INT)
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<SET C <REST ,C-TABLE ,C-INTS>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
<AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,C-INTLEN>>>
<SET INT <REST ,C-TABLE ,C-INTS>>
<PUT .INT ,C-RTN .RTN>
<RETURN .INT>)
(<EQUAL? <GET .C ,C-RTN> .RTN> <RETURN .C>)>
<SET C <REST .C ,C-INTLEN>>>>
;<GLOBAL CLOCK-WAIT <>>
;<ROUTINE CLOCKER ("AUX" C E I TICK (FLG <>))
#DECL ((C E) <PRIMTYPE VECTOR> (TICK) FIX (FLG) <OR FALSE ATOM>)
<COND (,CLOCK-WAIT
<SETG CLOCK-WAIT <>>
<RFALSE>)>
<SET C <REST ,C-TABLE <COND (,P-WON ,C-INTS) (T ,C-DEMONS)>>>
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<REPEAT ()
<COND (<EQUAL? .C .E>
<SETG MOVES <+ ,MOVES 1>>
<COND (<G? ,MOVES 59>
<SETG MOVES 0>
<SETG SCORE <+ ,SCORE 1>>
<COND (<G? ,SCORE 23>
<SETG SCORE 0>)>)>
<RETURN .FLG>)
(<NOT <ZERO? <GET .C ,C-ENABLED?>>>
<SET TICK <GET .C ,C-TICK>>
<COND (<ZERO? .TICK>)
(T
<PUT .C ,C-TICK <- .TICK 1>>
<COND (<AND <NOT <G? .TICK 1>>
<APPLY <GET .C ,C-RTN>>>
<SET FLG T>)>)>)>
<SET C <REST .C ,C-INTLEN>>>>
; <ROUTINE MACINTOSH? ("AUX" MODE)
<SET MODE <GETB 0 1>>
<COND (<OR <ZERO? <BAND .MODE 32>>
<NOT <ZERO? <BAND .MODE 64>>>>
<RTRUE>)
(T
<RFALSE>)>>
; <ROUTINE CARRIAGE-RETURNS ("AUX" (CNT 22))
<RESET-THEM>
<REPEAT ()
<CRLF>
<SET CNT <- .CNT 1>>
<COND (<ZERO? .CNT>
<RTRUE>)>>>
<CONSTANT REXIT 0>
<CONSTANT UEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 2) (T 1)>>
<CONSTANT NEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 3) (T 2)>>
<CONSTANT FEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 4) (T 3)>>
<CONSTANT CEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 5) (T 4)>>
<CONSTANT DEXIT %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 6) (T 5)>>
<CONSTANT NEXITSTR 0>
<CONSTANT FEXITFCN 0>
<CONSTANT CEXITFLAG %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 4) (T 1)>>
<CONSTANT CEXITSTR 1>
<CONSTANT DEXITOBJ 1>
<CONSTANT DEXITSTR %<COND (<AND <GASSIGNED? PLUS-MODE> ,PLUS-MODE> 2) (T 1)>>
<ROUTINE FIXED-FONT-ON ()
<PUT 0 8 <BOR <GET 0 8> 2>>>
<ROUTINE FIXED-FONT-OFF ()
<PUT 0 8 <BAND <GET 0 8> -3>>>
<CONSTANT P-PLAYER 68> ;"Char D"
<CONSTANT P-WINNER 65> ;"Char A"
<ASCII 84> ;"Char T"
<ASCII 79> ;"Char O"
<ASCII 77> ;"Char M"
<ASCII 65> ;"Char A"
<ASCII 83> ;"Char S"
<DEFMAC ZIL? ()
<FORM ZERO? '<GETB 0 18>>>

775
outside.zap Normal file
View File

@ -0,0 +1,775 @@
.FUNCT HOUSE-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "It's dark, but you can make out a stately two-story home with chimneys near the east and west ends of the house. Hardly anything has changed since you were last here several years ago, though you always remember the house as full of life, and now it is deserted and silent."
?ELS5: EQUAL? PRSA,V?ENTER \FALSE
CALL DO-WALK,P?IN
RSTACK
.FUNCT SOUTH-JUNCTION-F,RARG
EQUAL? RARG,M-ENTER \FALSE
INC 'SOUTH-JUNCTION-VISITS
RETURN SOUTH-JUNCTION-VISITS
.FUNCT TO-FRONT-PORCH
FSET? SOUTH-JUNCTION,BLACK-CAT-BIT \?ELS5
PRINTI "As you walk toward the house, a large black cat scurries across the path, heading toward Johnny Carson's house."
CRLF
CRLF
FCLEAR SOUTH-JUNCTION,BLACK-CAT-BIT
RETURN FRONT-PORCH
?ELS5: RETURN FRONT-PORCH
.FUNCT COMPASS-ROSE-PSEUDO
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "The compass rose encircles the base of the statue."
.FUNCT BAZOOKA-F
EQUAL? PRSA,V?TURN,V?MOVE,V?PUSH \?ELS5
CALL PERFORM,PRSA,BUCK,PRSI
RTRUE
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS7
PRINTI "The bazooka is pointing to the "
CALL SAY-BUCK-DIR
PRINTR "."
?ELS7: EQUAL? PRSA,V?SHOOT \FALSE
PRINTR "It's a stone gun, you geek."
.FUNCT TO-&-FROM-SOUTH-JUNCTION,NEW-ROOM
PRINTI "You follow the stone walkway as it turns "
EQUAL? HERE,SOUTHEAST-JUNCTION \?ELS3
SET 'NEW-ROOM,SOUTH-JUNCTION
PRINTI "west"
JUMP ?CND1
?ELS3: EQUAL? HERE,SOUTHWEST-JUNCTION \?ELS5
SET 'NEW-ROOM,SOUTH-JUNCTION
PRINTI "east"
JUMP ?CND1
?ELS5: PRINTI "north"
EQUAL? PRSO,P?WEST \?ELS10
SET 'NEW-ROOM,SOUTHWEST-JUNCTION
JUMP ?CND1
?ELS10: SET 'NEW-ROOM,SOUTHEAST-JUNCTION
?CND1: PRINTI " around the corner of the house, arriving at..."
CRLF
CRLF
RETURN NEW-ROOM
.FUNCT TO-&-FROM-TOP-LANDING
FSET? NORTHEAST-JUNCTION,EVERYBIT \?ELS3
FCLEAR NORTHEAST-JUNCTION,EVERYBIT
PRINTI "As you walk along the path you hear footsteps running south along the stone walkway."
CRLF
CRLF
JUMP ?CND1
?ELS3: PRINTI "You walk a short distance along the grass path, arriving at..."
CRLF
CRLF
?CND1: EQUAL? HERE,NORTHEAST-JUNCTION \?ELS10
RETURN TOP-LANDING
?ELS10: EQUAL? HERE,TOP-LANDING \FALSE
RETURN NORTHEAST-JUNCTION
.FUNCT PATIO-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a large fieldstone patio spanning the entire width of the back of the house. In the daytime you can look out onto Aunt Hildegarde's beautiful garden, said to be the envy of the Malibu colony. This is where Uncle Buddy and Aunt Hildegarde would often entertain.
Standing here you remember the time at one of their parties when you swiped one of Uncle Buddy's big Hollywood cigars and smoked it, then got sick on a rose bush in the garden. You snicker a little bit thinking about that poor rose bush now and the goofy things you did as a child. To the north a stone pathway leads to the garden. Steps lead down off to the east and west, and there is a"
FSET? PATIO-DOOR,OPENBIT \?ELS8
PRINTI "n open"
JUMP ?CND6
?ELS8: PRINTI " closed"
?CND6: PRINTI " door to the south."
RTRUE
.FUNCT GARDEN-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTI "This garden was Aunt Hildegarde's pride and joy. "
GRTR? MOVES,535 /?ELS8
PRINTI "By the moonlight you can see the outline of"
JUMP ?CND6
?ELS8: PRINTI "You can see"
?CND6: PRINTR " dozens of fancy varieties of flowers and shrubs. Several small trees dot the garden, giving shade during the day to the more delicate blossoms. Stone walkways lead through the garden. A stone wall surrounds the garden with entrances north and south."
?ELS5: EQUAL? PRSA,V?ENTER \FALSE
PRINTR "You can only enter the garden from the north or south of the garden."
.FUNCT GARDEN-WALLS-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "The stone wall surrounds the entire garden, with entrances to the north and south of the garden."
?ELS5: EQUAL? PRSA,V?CLIMB-UP,V?CLIMB-ON,V?CLIMB /?THN8
EQUAL? PRSA,V?CLIMB-OVER \FALSE
?THN8: PRINTR "Aunt Hildegarde would paddle your fanny if she saw you do that."
.FUNCT ROSE-BUSH-PSEUDO
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "You remember this rose bush from many summers ago. It's the one you got sick on after smoking one of Uncle Buddy's cigars."
?ELS5: EQUAL? PRSA,V?SMELL \?ELS7
PRINTR "No doubt the fragrance would be sweeter had you not thrown-up on it many years ago."
?ELS7: EQUAL? PRSA,V?WATER \FALSE
PRINTR "Driven by guilt, you splash some water on the bush. It looks better already."
.FUNCT FLORAL-PSEUDO
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "It's the lovely flora you would expect in Aunt Hildegarde's reknowned garden."
?ELS5: EQUAL? PRSA,V?SMELL \FALSE
PRINTR "Hmmm. What a lovely scent."
.FUNCT POND-F
EQUAL? PRSA,V?PUT \?ELS5
EQUAL? PRSI,POND \?ELS5
PRINTI "You drop"
CALL TPRINT,PRSO
PRINTI " in"
CALL TPRINT,POND
GETP PRSO,P?SIZE
GRTR? STACK,5 \?CND8
PRINTI " with a splash"
?CND8: PRINTC 46
MOVE PRSO,POND
CALL ALL-WET,PRSO
CALL BLOW-OUT-ALL-IN,PRSO,STR?189
EQUAL? PRSO,BUCKET \?CND11
FIRST? PRSO \?CND11
CALL ROB,BUCKET,POND
PRINTI " The contents of the bucket sink to the bottom of the shallow pond."
?CND11: EQUAL? PRSO,FLASHLIGHT \?CND16
FSET? FLASHLIGHT,ONBIT \?CND16
FCLEAR FLASHLIGHT,ONBIT
FSET FLASHLIGHT,WETBIT
PRINTI " The flashlight goes out."
?CND16: CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?ENTER \?ELS22
PRINTR "How soon they forget. Don't you remember the summer Aunt Hildegarde caught you wading in the pond and paddled your behind?"
?ELS22: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
CALL CANT-OPEN-CLOSE
RSTACK
.FUNCT BLOW-OUT-ALL-IN,OBJ,STR=0
ZERO? STR \?CND1
SET 'STR,STR?190
?CND1:
?PRG4: ZERO? OBJ /TRUE
FSET? OBJ,FLAMEBIT \?CND11
FCLEAR OBJ,FLAMEBIT
FCLEAR OBJ,ONBIT
PRINTI " The "
CALL DPRINT,OBJ
PRINTI " goes out"
PRINT STR
PRINTC 46
EQUAL? OBJ,RED-CANDLE \?ELS16
CALL STOP-RED-BURNING
JUMP ?CND11
?ELS16: EQUAL? OBJ,WHITE-CANDLE \?ELS18
CALL STOP-WHITE-BURNING
JUMP ?CND11
?ELS18: EQUAL? OBJ,BLUE-CANDLE \?ELS20
CALL STOP-BLUE-BURNING
JUMP ?CND11
?ELS20: EQUAL? OBJ,GREEN-MATCH,RED-MATCH \?CND11
CALL DEQUEUE,I-MATCH-BURN
?CND11: FIRST? OBJ \?CND23
FIRST? OBJ /?KLU26
?KLU26: CALL BLOW-OUT-ALL-IN,STACK,STR
?CND23: NEXT? OBJ >OBJ /?PRG4
JUMP ?PRG4
.FUNCT TO-&-FROM-CANNON,NEW-ROOM
PRINTI "You follow the walkway as it turns "
EQUAL? HERE,NORTHWEST-JUNCTION \?ELS3
SET 'NEW-ROOM,CANNON-EMPLACEMENT
PRINTI "east"
JUMP ?CND1
?ELS3: EQUAL? HERE,NORTHEAST-JUNCTION \?ELS5
SET 'NEW-ROOM,CANNON-EMPLACEMENT
PRINTI "west"
JUMP ?CND1
?ELS5: PRINTI "south"
EQUAL? PRSO,P?WEST \?ELS10
SET 'NEW-ROOM,NORTHWEST-JUNCTION
JUMP ?CND1
?ELS10: SET 'NEW-ROOM,NORTHEAST-JUNCTION
?CND1: PRINTI " around the hedge leading to..."
CRLF
CRLF
RETURN NEW-ROOM
.FUNCT CANNON-EMPLACEMENT-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a cannon emplacement complete with a Civil War-style cannon and a neatly stacked pyramid of cannon balls. During the day this area affords a spectacular view of the coastline. Stone walkways lead east and west, and a steep path leads down."
RTRUE
.FUNCT TO-CLIFF
FSET? SKIS,WORNBIT \?ELS5
CALL JIGS-UP,STR?192
RSTACK
?ELS5: PRINTI "You attempt to walk down, but end up sliding most of the way to a cliff below."
CRLF
CRLF
RETURN CLIFF
.FUNCT CLIFF-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This cliff affords the same spectacular view as from the cannon emplacement above. Far below you and stretching east, are the white sands of a beach"
GRTR? MOVES,535 /?CND6
PRINTI ", illuminated by the moon's glow"
?CND6: PRINTI ". You can hear the faint sound of waves lapping at the shore. Nearby in the ground is a"
FSET? HATCH,OPENBIT \?ELS13
PRINTI "n open hatch, forming a hole which leads down."
RTRUE
?ELS13: PRINTI " closed hatch."
RTRUE
.FUNCT CLIFF-PSEUDO
EQUAL? PRSA,V?LEAP \FALSE
CALL JIGS-UP,STR?193
RSTACK
.FUNCT TO-CANNON-EMPLACEMENT
PRINTI "You slip and slide in the loose rock, "
CALL ULTIMATELY-IN?,LADDER
ZERO? STACK /?ELS5
PRINTI "unable to climb up the cliff because of the weight of the ladder."
CRLF
RFALSE
?ELS5: PRINTI "but manage to make your way up to the cannon emplacement."
CRLF
CRLF
RETURN CANNON-EMPLACEMENT
.FUNCT TO-&-FROM-BOMB-SHELTER
FSET? HATCH,OPENBIT /?ELS5
PRINT YOU-CANT
PRINTI "go through the closed hatch."
CRLF
RFALSE
?ELS5: FSET? HATCH,OPENBIT \?ELS7
FSET? SKIS,WORNBIT \?ELS7
PRINTI "You can't fit through the opening wearing the skis."
CRLF
RFALSE
?ELS7: FSET? LADDER,HUNG-BIT \?ELS11
EQUAL? HERE,BOMB-SHELTER \?ELS16
PRINTI "You climb up the ladder to the cliff."
CRLF
CRLF
MOVE LADDER,CLIFF
RETURN CLIFF
?ELS16: PRINTI "You climb down the ladder to the bomb shelter."
CRLF
CRLF
MOVE LADDER,BOMB-SHELTER
RETURN BOMB-SHELTER
?ELS11: EQUAL? HERE,BOMB-SHELTER \?ELS25
PRINTI "You'll have to figure that out for yourself."
CRLF
RFALSE
?ELS25: PRINTI "You drop into the hole, managing to land on your feet."
CRLF
CRLF
RETURN BOMB-SHELTER
.FUNCT LADDER-F
EQUAL? HERE,CLIFF \?ELS5
FSET? LADDER,HUNG-BIT \?ELS5
FSET? HATCH,OPENBIT /?ELS5
CALL CANT-SEE-ANY,LADDER
RTRUE
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
PRINTR "This straight ladder is made of heavy-duty steel bars. It resembles a ladder you might find on a fire escape."
?ELS9: EQUAL? PRSA,V?UNTIE,V?TAKE \?ELS11
FSET? LADDER,HUNG-BIT \?ELS11
EQUAL? HERE,CLIFF \?ELS18
PRINTR "It's too heavy to lift out of the hole."
?ELS18: CALL ITAKE
ZERO? STACK /TRUE
FCLEAR LADDER,HUNG-BIT
PRINTR "Taken."
?ELS11: EQUAL? PRSA,V?HANG-UP \?ELS29
EQUAL? HERE,BOMB-SHELTER \?ELS29
ZERO? PRSI \?ELS29
CALL PERFORM,V?HANG-UP,LADDER,HOOKS
RTRUE
?ELS29: EQUAL? PRSA,V?CLIMB-DOWN,V?CLIMB,V?CLIMB-UP \FALSE
FSET? LADDER,HUNG-BIT \?ELS38
EQUAL? HERE,CLIFF \?ELS43
EQUAL? PRSA,V?CLIMB-UP \?ELS48
PRINTR "The ladder only leads down, through the open hatch."
?ELS48: CALL DO-WALK,P?DOWN
RSTACK
?ELS43: EQUAL? PRSA,V?CLIMB-DOWN \?ELS57
PRINTR "The ladder only leads up, through the open hatch."
?ELS57: CALL DO-WALK,P?UP
RSTACK
?ELS38: CALL ULTIMATELY-IN?,LADDER
ZERO? STACK /?ELS61
PRINTR "You're holding the ladder!"
?ELS61: PRINTR "You can't climb a ladder that's lying down."
.FUNCT HOOKS-F
EQUAL? PRSA,V?TIE,V?PUT-ON,V?HANG-UP \FALSE
EQUAL? PRSO,LADDER \?ELS10
PRINTI "You hang the ladder from"
CALL TRPRINT,HOOKS
MOVE LADDER,HERE
FSET LADDER,NDESCBIT
FSET LADDER,HUNG-BIT
RTRUE
?ELS10: PRINTR "You can't reach the hooks."
.FUNCT HATCH-HOLE-F
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS5
PRINTI "The hole is about the size of a manhole"
EQUAL? HERE,CLIFF \?CND6
PRINTI ". The "
CALL DPRINT,HATCH-HOLE
PRINTI " descends down into "
CALL LIT?,BOMB-SHELTER
ZERO? STACK /?ELS11
PRINTI "the bomb shelter"
JUMP ?CND9
?ELS11: PRINTI "darkness"
?CND9: FSET? LADDER,HUNG-BIT \?CND6
PRINTI ". A "
CALL DPRINT,LADDER
PRINTI " in the hole leads down"
?CND6: PRINTR "."
?ELS5: EQUAL? PRSA,V?ENTER \?ELS18
EQUAL? HERE,CLIFF \?ELS23
CALL DO-WALK,P?DOWN
RSTACK
?ELS23: PRINTR "You can't reach it."
?ELS18: EQUAL? PRSA,V?PUT \FALSE
EQUAL? HERE,CLIFF \FALSE
EQUAL? PRSI,HATCH-HOLE \FALSE
PRINTI "You drop"
CALL TPRINT,PRSO
PRINTI " in"
CALL TPRINT,HATCH-HOLE
PRINTI " and a second later hear it hit the ground."
CRLF
EQUAL? PRSO,BLUE-CANDLE,WHITE-CANDLE,RED-CANDLE \?CND30
FSET? PRSO,FLAMEBIT \?CND30
CALL BLOW-OUT-CANDLE,PRSO
?CND30: EQUAL? PRSO,FINCH \?ELS41
FSET? FINCH,BROKEN-BIT \?THN38
?ELS41: CALL ULTIMATELY-IN?,FINCH,PRSO
ZERO? STACK /?CND35
FSET? FINCH,BROKEN-BIT /?CND35
?THN38: CALL BREAK-FINCH,TRUE-VALUE
?CND35: MOVE PRSO,BOMB-SHELTER
RTRUE
.FUNCT PILE-OF-BALLS-F
EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS5
CALL CANT-OPEN-CLOSE
RSTACK
?ELS5: EQUAL? PRSA,V?TAKE,V?EXAMINE \?ELS7
IN? CANNON-BALL,PILE-OF-BALLS /?THN13
FIRST? PILE-OF-BALLS /FALSE
?THN13: PRINTI "The pile of cannon balls appears to be strictly ornamental. All of the balls are welded together"
IN? CANNON-BALL,PILE-OF-BALLS \?CND15
PRINTI ", except for the ball on the top of the pile"
?CND15: PRINTR "."
?ELS7: EQUAL? PRSA,V?LOOK-UNDER \FALSE
PRINT YOU-CANT
PRINTI "look under"
CALL TRPRINT,PILE-OF-BALLS
RSTACK
.FUNCT GENERIC-BALL-F
RETURN CANNON-BALL
.FUNCT FUSE-F,OBJ,FLAME
EQUAL? PRSA,V?LAMP-ON,V?BURN \?ELS5
CALL SET-FLAME-SOURCE
ZERO? STACK \TRUE
FSET? PRSI,FLAMEBIT /?ELS12
FSET? PRSI,BURNBIT \?ELS17
PRINTI "You'll have to light"
CALL TPRINT,PRSI
PRINTR " first."
?ELS17: PRINTI "You can't light"
CALL TPRINT,PRSO
PRINTI " with"
CALL ARPRINT,PRSI
RSTACK
?ELS12: REMOVE FUSE
FIRST? CANNON >OBJ /?KLU59
?KLU59: PRINTI "You touch the flame to"
CALL TPRINT,FUSE
PRINTI " and it sizzles. A second later"
CALL TPRINT,CANNON
PRINTI " fires"
ZERO? OBJ \?ELS26
PRINTR " with a bang."
?ELS26: IN? CANNON-BALL,CANNON \?CND29
FSET CANNON,CANNON-MOVED-BIT
REMOVE CANNON-BALL
PRINTI ", pushing it back a couple of feet. "
?CND29: IN? FLASHLIGHT,CANNON \?CND32
FCLEAR FLASHLIGHT,ONBIT
?CND32: IN? RED-CANDLE,CANNON \?CND35
FCLEAR RED-CANDLE,FLAMEBIT
FCLEAR RED-CANDLE,ONBIT
CALL STOP-RED-BURNING
?CND35: IN? WHITE-CANDLE,CANNON \?CND38
FCLEAR WHITE-CANDLE,FLAMEBIT
FCLEAR WHITE-CANDLE,ONBIT
CALL STOP-WHITE-BURNING
?CND38: IN? BLUE-CANDLE,CANNON \?CND41
FCLEAR BLUE-CANDLE,FLAMEBIT
FCLEAR BLUE-CANDLE,ONBIT
CALL STOP-BLUE-BURNING
?CND41: FSET? CANNON,CANNON-MOVED-BIT \?ELS46
PRINTI "The "
CALL DPRINT,CANNON-BALL
FIRST? CANNON \?CND44
PRINTI " and pieces of"
CALL CLOSE-ALL-IN,CANNON
CALL DESCRIBE-CONTENTS,CANNON,-1
JUMP ?CND44
?ELS46: FIRST? CANNON \?CND44
PRINTI " and pieces of"
CALL CLOSE-ALL-IN,CANNON
CALL DESCRIBE-CONTENTS,CANNON,-1
?CND44: PRINTI " fl"
FIRST? CANNON \?ELS54
PRINTC 121
JUMP ?CND52
?ELS54: PRINTI "ies"
?CND52: PRINTI " from"
CALL TPRINT,CANNON
PRINTI "'s barrel out to sea."
CRLF
CALL MOVE-ALL,CANNON
RSTACK
?ELS5: EQUAL? PRSA,V?TAKE \FALSE
PRINTR "It's stuck."
.FUNCT CLOSE-ALL-IN,CONT,OBJ
FIRST? CONT >OBJ /?KLU6
?KLU6:
?PRG1: FCLEAR OBJ,OPENBIT
NEXT? OBJ >OBJ /?KLU7
?KLU7: ZERO? OBJ \?PRG1
RTRUE
.FUNCT SET-FLAME-SOURCE,FLAME
ZERO? PRSI \FALSE
CALL FIND-IN,PLAYER,FLAMEBIT >FLAME
ZERO? FLAME /?ELS8
SET 'PRSI,FLAME
PRINTI "[with"
CALL TPRINT,FLAME
PRINTC 93
CRLF
RFALSE
?ELS8: EQUAL? HERE,BEACH \?ELS10
SET 'PRSI,FIRE
PRINTI "[with the fire]"
CRLF
RFALSE
?ELS10: PRINTI "You have nothing to light"
CALL TPRINT,PRSO
PRINTR " with."
.FUNCT CANNON-F
EQUAL? PRSA,V?PUSH-TO,V?PUSH,V?TAKE /?THN8
EQUAL? PRSA,V?TURN,V?MOVE,V?PULL /?THN8
EQUAL? PRSA,V?EMPTY,V?LOWER,V?RAISE \?ELS5
?THN8: EQUAL? PRSO,CANNON \?ELS5
PRINTR "The cannon is too heavy for you to move."
?ELS5: EQUAL? PRSA,V?SHOOT \?ELS11
PRINTR "Try lighting the fuse!"
?ELS11: EQUAL? PRSA,V?EXAMINE \?ELS13
PRINTI "It's a replica Civil War "
CALL DPRINT,CANNON
PRINTI " pointing out to sea. "
IN? FUSE,CANNON-EMPLACEMENT \?CND14
PRINTI "There is"
CALL APRINT,FUSE
PRINTI " sticking up from the cannon. "
?CND14: FSET? CANNON,CANNON-MOVED-BIT /?ELS19
PRINTI "One of"
CALL TPRINT,CANNON
PRINTI "'s wheels is on top of a small compartment."
JUMP ?CND17
?ELS19: PRINTI "Right next to"
CALL TPRINT,CANNON
PRINTI " is"
CALL APRINT,COMPARTMENT
PRINTC 46
?CND17: PRINTI " The "
CALL DPRINT,CANNON
PRINTR " was used in Uncle Buddy's production of ""Dracula Meets the Confederacy."" Uncle Buddy said he always kept it loaded in case those big Hollywood studio types came around."
?ELS13: EQUAL? PRSA,V?LAMP-ON,V?BURN \?ELS23
CALL PERFORM,V?BURN,FUSE
RTRUE
?ELS23: EQUAL? PRSA,V?PUT \?ELS25
EQUAL? PRSO,BUCKET \?ELS25
PRINTR "It won't fit in the cannon."
?ELS25: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
CALL CANT-OPEN-CLOSE
RSTACK
.FUNCT COMPARTMENT-F
EQUAL? PRSA,V?OPEN \?ELS5
FSET? CANNON,CANNON-MOVED-BIT /?ELS5
CALL PERFORM,V?EXAMINE,COMPARTMENT
RTRUE
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
FSET? CANNON,CANNON-MOVED-BIT /FALSE
PRINTI "One of"
CALL TPRINT,CANNON
PRINTI "'s wheels is on"
CALL TRPRINT,COMPARTMENT
RSTACK
.FUNCT MOVE-OBJ-DOWN
FSET? PRSO,TAKEBIT \FALSE
PRINTI "You "
PRINTB P-PRSA-WORD
PRINTI " the "
CALL DPRINT,PRSO
PRINTI " and it tumbles down the stairs."
EQUAL? UPSTAIRS-HALL-MIDDLE,HERE \?ELS10
MOVE PRSO,FOYER
RTRUE
?ELS10: EQUAL? FRONT-PORCH,HERE \?ELS12
MOVE PRSO,SOUTH-JUNCTION
RTRUE
?ELS12: MOVE PRSO,CELLAR
RTRUE
.FUNCT DOOR-BELL-F
EQUAL? PRSA,V?PUSH \FALSE
PRINTI "The "
CALL DPRINT,DOOR-BELL
PRINTI " plays a tune from one of Uncle Buddy's films. You recognize the "
CALL PICK-ONE,DOOR-BELL-TUNES
PRINT STACK
PRINTR "."""
.FUNCT SKIS-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "They're a large pair of downhill snow skis."
?ELS5: EQUAL? PRSA,V?WEAR \FALSE
EQUAL? HERE,UPPER-BEACH-STAIRS /?THN13
EQUAL? HERE,LOWER-BEACH-STAIRS \?ELS12
?THN13: PRINTR "You can't put them on while standing on the stairs."
?ELS12: EQUAL? HERE,ROOF-1,ROOF-2 \?ELS16
CALL JIGS-UP,STR?200
RSTACK
?ELS16: EQUAL? HERE,INLET,ON-POOL-1,IN-POOL-1 /?THN19
EQUAL? HERE,UNDERPASS-1,UNDERPASS-2,IN-POOL-2 /?THN19
EQUAL? HERE,ON-POOL-2 \?ELS18
?THN19: PRINT DOG-PADDLE
CRLF
RTRUE
?ELS18: EQUAL? HERE,CLOSET,SHAFT-BOTTOM,CLOSET-TOP /?THN23
EQUAL? HERE,CHIMNEY-1,CHIMNEY-2,CHIMNEY-3 \?ELS22
?THN23: PRINTI "The "
EQUAL? HERE,CLOSET \?ELS27
PRINTI "closet"
JUMP ?CND25
?ELS27: EQUAL? HERE,CLOSET-TOP,SHAFT-BOTTOM \?ELS29
PRINTI "shaft"
JUMP ?CND25
?ELS29: PRINTI "chimney"
?CND25: PRINTR " is too small for you to put on the skis."
?ELS22: EQUAL? HERE,CRAWL-SPACE-NORTH,CRAWL-SPACE-SOUTH,FIRST-SECRET-ROOM \?ELS33
PRINT YOU-CANT
PRINTR "quite slip into them in this cramped space."
?ELS33: LOC PLAYER
EQUAL? STACK,RIGHT-END,LEFT-END \FALSE
PRINT YOU-CANT
PRINTI "seem to get them on while standing on"
CALL TRPRINT,PLANK
RSTACK
.FUNCT TOP-LANDING-F,ARG
EQUAL? ARG,M-BEG \FALSE
EQUAL? PRSA,V?WALK \FALSE
EQUAL? PRSO,P?NORTH \FALSE
SET 'PRSO,P?DOWN
RFALSE
.FUNCT TO-BEACH
FSET? SKIS,WORNBIT \?ELS5
CALL SKI-DOWN-STAIRS
RETURN BEACH
?ELS5: EQUAL? HERE,UPPER-BEACH-STAIRS \?ELS12
CALL JIGS-UP,STR?203
RSTACK
?ELS12: PRINTI "You walk down the old, creaking stairs. You stop as you come to a wide gap of missing steps."
CRLF
CRLF
RETURN UPPER-BEACH-STAIRS
.FUNCT GAP-F
EQUAL? PRSA,V?CROSS,V?LEAP \?ELS5
PRINTI "You leap across the gap "
RANDOM 100
LESS? 50,STACK /?ELS8
PRINTI "and just miss the first step on the other side. For a split second you admire a view of the coastline that few if any have seen before. You then"
JUMP ?CND6
?ELS8: PRINTI "and land on the first step. Unfortunately your weight was a bit too much for the step. It squeals with pain then breaks in half, and you"
?CND6: CALL JIGS-UP,STR?204
RSTACK
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS12
PRINTR "Far below are sharp rocks."
?ELS12: EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS14
EQUAL? PRSI,GAP \?ELS14
REMOVE PRSO
PRINTI "The "
CALL DPRINT,PRSO
PRINTR " drops to the rocks below."
?ELS14: EQUAL? PRSA,V?ENTER \FALSE
CALL FROM-LOWER-STAIRS
RSTACK
.FUNCT SKI-DOWN-STAIRS,CANDLE=0,MATCH=0
EQUAL? HERE,TOP-LANDING \FALSE
FSET? TOP-LANDING,EVERYBIT \?CND6
FCLEAR TOP-LANDING,EVERYBIT
ADD SCORE,10 >SCORE
?CND6: PRINTI "You shuffle over the edge of the landing, and quickly gain momentum as you sail down the stairs."
CALL FIND-IN,PLAYER,FLAMEBIT
ZERO? STACK /?CND9
IN? RED-CANDLE,PLAYER \?CND12
FSET? RED-CANDLE,FLAMEBIT \?CND12
INC 'CANDLE
CALL BLOW-OUT-CANDLE,RED-CANDLE,TRUE-VALUE
?CND12: IN? WHITE-CANDLE,PLAYER \?CND17
FSET? WHITE-CANDLE,FLAMEBIT \?CND17
INC 'CANDLE
CALL BLOW-OUT-CANDLE,WHITE-CANDLE,TRUE-VALUE
?CND17: IN? BLUE-CANDLE,PLAYER \?CND22
FSET? BLUE-CANDLE,FLAMEBIT \?CND22
INC 'CANDLE
CALL BLOW-OUT-CANDLE,BLUE-CANDLE,TRUE-VALUE
?CND22: EQUAL? CANDLE,1,2,3 \?CND27
PRINTI " The candle"
EQUAL? CANDLE,2,3 \?CND30
PRINTC 115
?CND30: PRINTI " in your hand blow"
EQUAL? CANDLE,1 \?CND33
PRINTC 115
?CND33: PRINTI " out."
?CND27: IN? RED-MATCH,PLAYER \?CND36
FSET? RED-MATCH,FLAMEBIT \?CND36
INC 'MATCH
FCLEAR RED-MATCH,ONBIT
FCLEAR RED-MATCH,FLAMEBIT
REMOVE RED-MATCH
CALL DEQUEUE,I-MATCH-BURN
?CND36: IN? GREEN-MATCH,PLAYER \?CND41
FSET? GREEN-MATCH,FLAMEBIT \?CND41
INC 'MATCH
FCLEAR GREEN-MATCH,ONBIT
FCLEAR GREEN-MATCH,FLAMEBIT
REMOVE GREEN-MATCH
CALL DEQUEUE,I-MATCH-BURN
?CND41: EQUAL? MATCH,1,2 \?CND9
PRINTI " The match"
EQUAL? MATCH,2 \?CND49
PRINTC 115
?CND49: PRINTI " in your hand blow"
EQUAL? MATCH,1 \?CND52
PRINTC 115
?CND52: PRINTI " out and you drop "
EQUAL? MATCH,1 \?ELS57
PRINTI "it."
JUMP ?CND9
?ELS57: PRINTI "them."
?CND9: PRINTI " Ahead of you is the gap in the stairs. Racing into the gap, your skis bow slightly, but your forward momentum pulls you across the gap. You hit the landing at the bottom of the stairs but don't stop. You continue down a short flight of stairs then sail onto the sandy beach. You quickly stop with the drag of the sand and a feeble attempt to snow plow."
CRLF
CRLF
RTRUE
.FUNCT FROM-LOWER-STAIRS
CALL JIGS-UP,STR?206
RFALSE
.FUNCT WALKWAY-TO-BOAT-DOCK
PRINTI "You follow the wooden planking as it turns "
EQUAL? HERE,BOTTOM-LANDING \?ELS5
PRINTI "left and enters a cave arriving at..."
CRLF
CRLF
RETURN BOAT-DOCK
?ELS5: PRINTI "right and exits the cave arriving at..."
CRLF
CRLF
RETURN BOTTOM-LANDING
.FUNCT FIRE-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTI "It's"
CALL APRINT,FIRE
PRINTR " in a shallow pit in the sand, probably left here by Morgan Fairchild and a friend earlier in the evening."
?ELS5: EQUAL? PRSA,V?RUB,V?MOVE,V?TAKE /?THN8
EQUAL? PRSA,V?LAMP-OFF \?ELS7
?THN8: PRINTR "You'd burn your hands, and besides, it might upset Morgan."
?ELS7: EQUAL? PRSA,V?POUR \?ELS11
REMOVE FIRE
PRINTR "With the skill of a seasoned firefighter, you extinguish the fire."
?ELS11: EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS13
CALL PERFORM,V?BURN,PRSO,FIRE
RTRUE
?ELS13: EQUAL? PRSA,V?ENTER \?ELS15
PRINT PYRO
RTRUE
?ELS15: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
CALL CANT-OPEN-CLOSE
RSTACK
.FUNCT SAND-F
EQUAL? PRSA,V?TAKE \FALSE
PRINTR "It slips through your hands."
.ENDI

1303
outside.zil Normal file

File diff suppressed because it is too large Load Diff

719
parlor.zap Normal file
View File

@ -0,0 +1,719 @@
.FUNCT FILM-F
EQUAL? PRSA,V?EXAMINE \?ELS5
IN? FILM,FILM-PROJECTOR \?ELS10
FSET? FILM-PROJECTOR,ONBIT \?ELS10
CALL PERFORM,V?EXAMINE,PROJECTION-SCREEN
RTRUE
?ELS10: CALL FILM-SLIDE-DESC,FILM,STR?78
RSTACK
?ELS5: EQUAL? PRSA,V?TAKE \?ELS16
IN? FILM,FILM-PROJECTOR \FALSE
FSET? FILM-PROJECTOR,ONBIT \FALSE
PRINTI "Even a nonunion projectionist like yourself should know how dangerous it is to try to take film from"
CALL APRINT,FILM-PROJECTOR
PRINTR " while it's running."
?ELS16: EQUAL? PRSA,V?PUT \?ELS25
FSET? FILM-PROJECTOR,ONBIT \?ELS25
EQUAL? PRSI,FILM-PROJECTOR \?ELS25
PRINTI "You start to put"
CALL TPRINT,FILM
PRINTI " in"
CALL TPRINT,FILM-PROJECTOR
PRINTI ", but glance up at a sign on the wall. The sign states: Remember, Perry Projectionist sez, ""Never try to put film in"
CALL APRINT,FILM-PROJECTOR
PRINTR " that's turned on."""
?ELS25: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,SLIDE-PROJECTOR \FALSE
PRINTI "The "
CALL DPRINT,FILM
PRINTI " won't fit in"
CALL TRPRINT,PRSI
RSTACK
.FUNCT SLIDE-F
EQUAL? PRSA,V?EXAMINE \FALSE
CALL FILM-SLIDE-DESC,SLIDE
RSTACK
.FUNCT FILM-SLIDE-DESC,OBJ,STRING=0
IN? OBJ,FILM-PROJECTOR /?THN6
IN? OBJ,SLIDE-PROJECTOR \?ELS5
?THN6: PRINTI "It's in"
LOC OBJ
CALL TPRINT,STACK
PRINTR "."
?ELS5: PRINTI "You examine the "
ZERO? STRING /?CND10
PRINT STRING
?CND10: CALL DPRINT,OBJ
PRINTR " closely. Whatever is on it is too small for you to make out."
.FUNCT FILM-PROJECTOR-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTI "It's a large, black, Simplex 70, 35mm "
CALL DPRINT,FILM-PROJECTOR
PRINTI ". In the front it has a short lens. "
IN? LENS-CAP,FILM-PROJECTOR \?CND6
PRINTI "There's a lens cap on the lens. "
?CND6: PRINTI "The "
CALL DPRINT,FILM-PROJECTOR
IN? FILM,FILM-PROJECTOR \?ELS11
PRINTI " has"
CALL APRINT,FILM
PRINTI " in it, and"
JUMP ?CND9
?ELS11: IN? CORPSE-LINE,FILM-PROJECTOR \?CND9
PRINTI " has"
CALL APRINT,CORPSE-LINE
PRINTI " in it, and"
?CND9: PRINTI " is turned o"
FSET? FILM-PROJECTOR,ONBIT \?ELS16
PRINTC 110
JUMP ?CND14
?ELS16: PRINTI "ff"
?CND14: PRINTR "."
?ELS5: EQUAL? PRSA,V?LAMP-ON \?ELS20
FSET? FILM-PROJECTOR,ONBIT /?ELS20
PRINTI "Immediately the projector begins to roll"
FSET FILM-PROJECTOR,ONBIT
IN? FILM,FILM-PROJECTOR /?THN26
IN? CORPSE-LINE,FILM-PROJECTOR \?ELS25
?THN26: IN? FILM,FILM-PROJECTOR \?CND28
CALL QUEUE,I-FILM-DROP,2
?CND28: PRINTI ". The film starts to run through the projector"
FSET? LENS-CAP,LENS-CAP-OFF-BIT \?CND23
FSET SCREENING-ROOM,ONBIT
PRINTI " and a stream of colored light shoots out of the lens onto the screen in the screening room"
IN? CORPSE-LINE,FILM-PROJECTOR \?CND23
PRINTC 46
CRLF
CALL CORPSE-LINE-DEATH
JUMP ?CND23
?ELS25: FSET? LENS-CAP,LENS-CAP-OFF-BIT \?CND23
FSET SCREENING-ROOM,ONBIT
PRINTI ". A stream of white light shoots out of the lens of"
CALL TPRINT,FILM-PROJECTOR
PRINTI " onto the screen in the screening room"
?CND23: PRINTR "."
?ELS20: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS43
CALL CANT-OPEN-CLOSE
RSTACK
?ELS43: EQUAL? PRSA,V?LAMP-OFF \?ELS45
FSET? FILM-PROJECTOR,ONBIT \?ELS45
FCLEAR FILM-PROJECTOR,ONBIT
FSET? SLIDE-PROJECTOR,ONBIT /?CND48
FCLEAR SCREENING-ROOM,ONBIT
?CND48: PRINTI "You hear"
CALL TPRINT,FILM-PROJECTOR
PRINTR "'s whining trail off as it rolls to a stop."
?ELS45: EQUAL? PRSA,V?PUT-ON,V?PUT \FALSE
EQUAL? PRSI,FILM-PROJECTOR \FALSE
EQUAL? PRSO,FILM,CORPSE-LINE /?ELS59
CALL WASTE-OF-TIME
RSTACK
?ELS59: IN? FILM,FILM-PROJECTOR /?THN62
IN? CORPSE-LINE,FILM-PROJECTOR \FALSE
?THN62: PRINTI "You'll have to take"
FIRST? FILM-PROJECTOR /?KLU64
?KLU64: CALL TPRINT,STACK
PRINTR " out first."
.FUNCT CORPSE-LINE-DEATH
CRLF
PRINTI "Your eyes are immediately drawn to the screen. "
FSET? SLIDE-PROJECTOR,ONBIT \?ELS3
PRINTI "Although it's a little distorted by the slide projector, you"
JUMP ?CND1
?ELS3: PRINTI "You"
?CND1: CALL JIGS-UP,STR?79
RSTACK
.FUNCT I-FILM-DROP
MOVE FILM,PROJECTION-BOOTH
EQUAL? HERE,PROJECTION-BOOTH \FALSE
CRLF
PRINTI "The "
CALL DPRINT,FILM
PRINTI " runs out of"
CALL TPRINT,FILM-PROJECTOR
PRINTR " and onto the floor."
.FUNCT PROJECTORS-DESC,OBJ,STRING=0
PRINTI "It's"
CALL APRINT,OBJ
ZERO? STRING /?CND1
PRINT STRING
?CND1: PRINTI ". The "
CALL DPRINT,OBJ
PRINTC 32
FIRST? OBJ \?ELS7
PRINTI "has"
FIRST? OBJ /?KLU15
?KLU15: CALL APRINT,STACK
PRINTI " in it"
JUMP ?CND5
?ELS7: PRINTI "is empty"
?CND5: PRINTI " and is turned o"
FSET? OBJ,ONBIT \?ELS12
PRINTC 110
JUMP ?CND10
?ELS12: PRINTI "ff"
?CND10: PRINTR "."
.FUNCT SLIDE-PROJECTOR-F
EQUAL? PRSA,V?EXAMINE \?ELS5
CALL PROJECTORS-DESC,SLIDE-PROJECTOR,STR?80
RSTACK
?ELS5: EQUAL? PRSA,V?LAMP-ON \?ELS7
FSET? SLIDE-PROJECTOR,ONBIT /?ELS7
FSET SLIDE-PROJECTOR,ONBIT
FSET SCREENING-ROOM,ONBIT
PRINTI "A stream of "
IN? SLIDE,SLIDE-PROJECTOR \?ELS12
PRINTI "colored"
JUMP ?CND10
?ELS12: PRINTI "white"
?CND10: PRINTI " light shoots out of the lens of"
CALL TPRINT,SLIDE-PROJECTOR
PRINTR " onto the screen in the screening room."
?ELS7: EQUAL? PRSA,V?FOCUS \?ELS16
CALL PERFORM,V?FOCUS,SLIDE-PROJECTOR-LENS
RTRUE
?ELS16: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS18
CALL CANT-OPEN-CLOSE
RSTACK
?ELS18: EQUAL? PRSA,V?LAMP-OFF \FALSE
FSET? SLIDE-PROJECTOR,ONBIT \FALSE
FCLEAR SLIDE-PROJECTOR,ONBIT
FSET? FILM-PROJECTOR,ONBIT \?THN26
FSET? LENS-CAP,LENS-CAP-OFF-BIT /?CND23
?THN26: FCLEAR SCREENING-ROOM,ONBIT
?CND23: PRINTI "You turn off"
CALL TPRINT,SLIDE-PROJECTOR
PRINTR " and the light from the lens fades away."
.FUNCT PROJECTED-IMAGE-F
EQUAL? PRSI,PROJECTED-IMAGE \?ELS5
CALL PERFORM,PRSA,PRSO,PROJECTION-SCREEN
RTRUE
?ELS5: EQUAL? PRSO,PROJECTED-IMAGE \FALSE
CALL PERFORM,PRSA,PROJECTION-SCREEN,PRSI
RTRUE
.FUNCT PROJECTION-SCREEN-F
EQUAL? PRSA,V?READ,V?EXAMINE \FALSE
PRINTI "The "
CALL DPRINT,PROJECTION-SCREEN
PRINTI " is "
FSET? FILM-PROJECTOR,ONBIT \?ELS8
FSET? LENS-CAP,LENS-CAP-OFF-BIT \?ELS8
IN? FILM,FILM-PROJECTOR \?ELS13
FSET? SLIDE-PROJECTOR,ONBIT \?ELS16
IN? SLIDE,SLIDE-PROJECTOR \?ELS19
FSET? SLIDE-PROJECTOR-LENS,FOCUS-BIT \?ELS22
PRINTI "showing a message saying:
PLAY """
GET SONGS,SONG-NUMBER
PRINT STACK
PRINTI ".""
Love,
Aunt Hildegarde"
ZERO? PROJECTOR-POINTS \?CND6
ADD SCORE,10 >SCORE
SET 'PROJECTOR-POINTS,TRUE-VALUE
JUMP ?CND6
?ELS22: PRINTI "filled with bits of colored words and a blur of colored light"
JUMP ?CND6
?ELS19: PRINT WASHED-OUT-BITS
JUMP ?CND6
?ELS16: PRINT BITS-&-PIECES
JUMP ?CND6
?ELS13: FSET? SLIDE-PROJECTOR,ONBIT \?ELS36
IN? SLIDE,SLIDE-PROJECTOR \?ELS39
FSET? SLIDE-PROJECTOR-LENS,FOCUS-BIT \?ELS42
PRINT WASHED-OUT-BITS
JUMP ?CND6
?ELS42: PRINT WASHED-OUT-BITS
JUMP ?CND6
?ELS39: PRINT WHITE-LIGHT
JUMP ?CND6
?ELS36: PRINT WHITE-LIGHT
JUMP ?CND6
?ELS8: FSET? SLIDE-PROJECTOR,ONBIT \?ELS53
IN? SLIDE,SLIDE-PROJECTOR \?ELS56
FSET? SLIDE-PROJECTOR-LENS,FOCUS-BIT \?ELS59
PRINT BITS-&-PIECES
JUMP ?CND6
?ELS59: PRINTI "a blur of colored light"
JUMP ?CND6
?ELS56: PRINT WHITE-LIGHT
JUMP ?CND6
?ELS53: PRINTI "blank"
?CND6: PRINTR "."
.FUNCT LENS-CAP-F
EQUAL? PRSA,V?PUT-ON \?ELS5
EQUAL? PRSI,FILM-PROJECTOR,FILM-PROJECTOR-LENS \?ELS5
FCLEAR LENS-CAP,LENS-CAP-OFF-BIT
FSET LENS-CAP,NDESCBIT
FSET LENS-CAP,TRYTAKEBIT
MOVE LENS-CAP,FILM-PROJECTOR
FSET? SLIDE-PROJECTOR,ONBIT /?CND8
FSET? FILM-PROJECTOR,ONBIT \?CND8
FCLEAR SCREENING-ROOM,ONBIT
?CND8: PRINTI "You place"
CALL TPRINT,LENS-CAP
PRINTI " over"
CALL TRPRINT,FILM-PROJECTOR-LENS
RSTACK
?ELS5: EQUAL? PRSA,V?PUT-ON \?ELS14
EQUAL? PRSI,SLIDE-PROJECTOR,SLIDE-PROJECTOR-LENS \?ELS14
PRINTI "The "
CALL DPRINT,LENS-CAP
PRINTI " won't fit on"
CALL TRPRINT,PRSI
RSTACK
?ELS14: EQUAL? PRSA,V?UNTIE,V?TAKE-OFF \?ELS18
FSET? LENS-CAP,LENS-CAP-OFF-BIT /?ELS18
CALL PERFORM,V?TAKE,LENS-CAP
RTRUE
?ELS18: EQUAL? PRSA,V?TAKE \FALSE
EQUAL? PRSO,LENS-CAP \FALSE
FSET? LENS-CAP,LENS-CAP-OFF-BIT /FALSE
CALL ITAKE
ZERO? STACK /TRUE
FSET LENS-CAP,LENS-CAP-OFF-BIT
FCLEAR LENS-CAP,NDESCBIT
FCLEAR LENS-CAP,TRYTAKEBIT
FSET? FILM-PROJECTOR,ONBIT \FALSE
FSET SCREENING-ROOM,ONBIT
PRINTI "As you remove"
CALL TPRINT,LENS-CAP
PRINTI " a stream of "
IN? FILM,FILM-PROJECTOR /?THN36
IN? CORPSE-LINE,FILM-PROJECTOR \?ELS35
?THN36: PRINTI "colored"
JUMP ?CND33
?ELS35: PRINTI "white"
?CND33: PRINTI " light shoots from"
CALL TPRINT,FILM-PROJECTOR
PRINTI "'s lens."
CRLF
IN? CORPSE-LINE,FILM-PROJECTOR \TRUE
CALL CORPSE-LINE-DEATH
RTRUE
.FUNCT FILM-PROJECTOR-LENS-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTI "It's a hand-ground, all-aluminum, Bierman 500 "
CALL DPRINT,FILM-PROJECTOR-LENS
FSET? LENS-CAP,LENS-CAP-OFF-BIT /?ELS8
PRINTI " with"
CALL APRINT,LENS-CAP
PRINTI " on it"
JUMP ?CND6
?ELS8: FSET? FILM-PROJECTOR,ONBIT \?CND6
PRINTI ", with a spray of "
IN? FILM,FILM-PROJECTOR \?ELS16
PRINTI "colored"
JUMP ?CND14
?ELS16: PRINTI "white"
?CND14: PRINTI " light coming out of it"
?CND6: PRINTR "."
?ELS5: EQUAL? PRSA,V?TURN,V?FOCUS \?ELS20
PRINT YOU-CANT
PRINTI "adjust"
CALL TPRINT,FILM-PROJECTOR-LENS
PRINTR ". It's preset for Uncle Buddy's screening room."
?ELS20: EQUAL? PRSA,V?UNTIE,V?TAKE \FALSE
PRINT LENS-ATTACHED
CRLF
RTRUE
.FUNCT SLIDE-PROJECTOR-LENS-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTI "It's a fairly expensive, focusable "
CALL DPRINT,SLIDE-PROJECTOR-LENS
FSET? SLIDE-PROJECTOR,ONBIT \?CND6
PRINTI ". A stream of "
IN? SLIDE,SLIDE-PROJECTOR \?ELS11
PRINTI "colored"
JUMP ?CND9
?ELS11: PRINTI "white"
?CND9: PRINTI " light sprays from the lens"
?CND6: PRINTR "."
?ELS5: EQUAL? PRSA,V?TURN,V?FOCUS \?ELS15
FSET? SLIDE-PROJECTOR,ONBIT /?ELS20
PRINTI "How can you focus"
CALL TPRINT,SLIDE-PROJECTOR
PRINTR " when it's not turned on?"
?ELS20: FSET? SLIDE-PROJECTOR-LENS,FOCUS-BIT \?ELS22
CALL YOU-ALREADY
RSTACK
?ELS22: IN? SLIDE,SLIDE-PROJECTOR /?ELS24
PRINTI "How can you focus"
CALL TPRINT,SLIDE-PROJECTOR
PRINTR " when there's nothing in it?"
?ELS24: PRINTI "You twist"
CALL TRPRINT,SLIDE-PROJECTOR-LENS
FSET SLIDE-PROJECTOR-LENS,FOCUS-BIT
RTRUE
?ELS15: EQUAL? PRSA,V?TAKE \FALSE
PRINT LENS-ATTACHED
CRLF
RTRUE
.FUNCT PROJECTION-BOOTH-F,RARG
EQUAL? RARG,M-ENTER \FALSE
FSET? PROJECTION-BOOTH,EVERYBIT /FALSE
FSET PROJECTION-BOOTH,EVERYBIT
RANDOM 10
SUB STACK,1 >SONG-NUMBER
RETURN SONG-NUMBER
.FUNCT SCREENING-ROOM-PSEUDO-F
EQUAL? PRSA,V?EXAMINE \FALSE
CALL PERFORM,V?LOOK-INSIDE,WINDOW
RTRUE
.FUNCT OUTSIDE-PARLOR-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is a long hall stretching east and west."
FSET? WALL-SAFE,INVISIBLE \?ELS10
PRINTI " There is a painting hanging here."
RTRUE
?ELS10: PRINTI " There is a painting swung away from the wall. Next to the painting is a"
FSET? WALL-SAFE,OPENBIT \?ELS15
PRINTI "n open"
JUMP ?CND13
?ELS15: PRINTI " closed"
?CND13: PRINTI " wall safe."
RTRUE
.FUNCT PARLOR-F,RARG
EQUAL? RARG,M-LOOK \FALSE
ZERO? TIPPED /?ELS8
PRINTI "This room is askew with the floor tilting down in the "
EQUAL? TIPPED,CRAWL-SPACE-NORTH \?ELS12
PRINTI "north and up in the south"
JUMP ?CND10
?ELS12: PRINTI "south and up in the north"
?CND10: PRINTI ". The piano is "
JUMP ?CND6
?ELS8: PRINTI "This is the parlor where Uncle Buddy would bring potential investors. He would break out his finest scotch and Cuban cigars. Once the ""guests"" were tight he would present his latest movie idea. (You've seen his movies, so you know anyone who would agree to invest in one of them had to have been drinking.) Strange, you notice all the furniture in this room is bolted to the floor, except for the piano "
?CND6: EQUAL? PIANO-LOC,1 \?ELS19
PRINTI "against the northern wall"
JUMP ?CND17
?ELS19: EQUAL? PIANO-LOC,2 \?ELS21
PRINTI "in the middle of the room"
JUMP ?CND17
?ELS21: PRINTI "against the southern wall"
?CND17: FSET? CRAWL-SPACE-DOOR,OPENBIT \?CND24
PRINTI ". There is an open door in the floor"
?CND24: PRINTI ". A doorway leads west."
RTRUE
.FUNCT TO-CRAWL-SPACE-NORTH
FSET? CRAWL-SPACE-DOOR,OPENBIT \?ELS5
FSET? SKIS,WORNBIT \?ELS10
PRINTI "You can't fit through the opening wearing the skis."
CRLF
RFALSE
?ELS10: EQUAL? TIPPED,CRAWL-SPACE-NORTH \?ELS12
PRINTI "Now that the parlor is tilted, you can't fit into the crawl space."
CRLF
RFALSE
?ELS12: RETURN CRAWL-SPACE-NORTH
?ELS5: PRINTI "You can't go that way."
CRLF
RFALSE
.FUNCT CRAWL-SPACE-DOOR-F
EQUAL? PRSA,V?OPEN \FALSE
EQUAL? HERE,PARLOR \FALSE
ZERO? SONG-PLAYED /?ELS15
FSET? CRAWL-SPACE-DOOR,OPENBIT /?ELS15
FSET CRAWL-SPACE-DOOR,OPENBIT
PRINTR "Opened."
?ELS15: PRINTR "You can't seem to open it."
.FUNCT CRAWL-SPACE-NORTH-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is the northern half of an uncomfortably warm crawl space beneath the parlor. It appears as though this room is under construction."
CALL DESCRIBE-CRAWL-SPACE-BEAM,STR?97
PRINTI " To the north, about a foot above the floor, you see an entrance to a passage."
ZERO? TIPPED \?CND6
PRINTI " The entrance is partially blocked by the floor of the room above."
?CND6: CALL DESCRIBE-NICHE,NORTH-NICHE
PRINTI " There is a"
FSET? CRAWL-SPACE-DOOR,OPENBIT \?ELS11
PRINTI "n open"
JUMP ?CND9
?ELS11: PRINTI " closed"
?CND9: PRINTI " door above you."
RTRUE
.FUNCT TO-CRAWL-SPACE-SOUTH
EQUAL? TIPPED,CRAWL-SPACE-SOUTH \?ELS5
PRINTI "You won't fit in the southern half of the crawl space. The ceiling shifted and now fills the space."
CRLF
RFALSE
?ELS5: RETURN CRAWL-SPACE-SOUTH
.FUNCT TO-FIRST-SECRET-ROOM
EQUAL? TIPPED,CRAWL-SPACE-SOUTH \?ELS5
RETURN FIRST-SECRET-ROOM
?ELS5: PRINTI "You can't fit through the passage. It's partially blocked by the floor of the room above."
CRLF
RFALSE
.FUNCT PARKING-METER-F
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "This is the parking meter that was the final frustration for budding actor Alan Chaplin in Uncle Buddy's ""You Can't Fight City Hall, But You Can Blow It Up!"""
.FUNCT DESCRIBE-NICHE,NICHE
PRINTI " There is a niche in the ceiling here."
FIRST? NICHE \TRUE
PRINTI " In"
CALL TPRINT,NICHE
PRINTI " there is"
FIRST? NICHE /?KLU4
?KLU4: CALL APRINT,STACK
PRINTI " supporting the ceiling."
RTRUE
.FUNCT BEAM-PSEUDO
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "The thick, wooden beam runs across the ceiling of the crawl space."
.FUNCT DESCRIBE-CRAWL-SPACE-BEAM,STRING
PRINTI " A wooden beam runs east-west across the ceiling, forming the boundary between this side of the crawl space and the other half to the "
PRINT STRING
PRINTC 46
RTRUE
.FUNCT CRAWL-SPACE-SOUTH-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is the southern half of an uncomfortably warm crawl space beneath the parlor."
CALL DESCRIBE-CRAWL-SPACE-BEAM,STR?99
CALL DESCRIBE-NICHE,SOUTH-NICHE
RSTACK
.FUNCT POST-F,OARG,POST-LOC
LOC PRSO >POST-LOC
EQUAL? PRSA,V?MOVE,V?TAKE \?ELS5
FSET? PRSO,CANT-MOVE-POST-BIT \?ELS5
PRINTR "The pillar won't budge from the niche."
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
EQUAL? POST-LOC,NORTH-NICHE,SOUTH-NICHE \?ELS14
PRINTI "It's in"
LOC PRSO
CALL TRPRINT,STACK
RSTACK
?ELS14: PRINTI "The "
CALL DPRINT,PRSO
PRINTR " is made of wood and is about two feet tall."
?ELS9: EQUAL? PRSA,V?PUT \?ELS18
EQUAL? PRSI,NORTH-NICHE,SOUTH-NICHE \?ELS18
ZERO? TIPPED /?ELS25
PRINTR "The post won't go in the niche now that the ceiling is tilted."
?ELS25: EQUAL? PRSI,NORTH-NICHE \?ELS32
EQUAL? PIANO-LOC,1 /?THN37
?ELS32: EQUAL? PRSI,SOUTH-NICHE \?ELS34
EQUAL? PIANO-LOC,3 /?THN37
?ELS34: EQUAL? PIANO-LOC,2 \FALSE
EQUAL? PRSI,NORTH-NICHE /?THN37
EQUAL? PRSI,SOUTH-NICHE \FALSE
?THN37: PRINTR "Because of the weight from above you can't put the pillar back in the niche."
?ELS18: EQUAL? PRSA,V?BURN \FALSE
PRINT PYRO
RTRUE
.FUNCT PIANO-F
EQUAL? PRSA,V?PUSH-TO \?ELS5
EQUAL? PRSI,INTDIR \?ELS5
EQUAL? TIPPED,CRAWL-SPACE-NORTH,CRAWL-SPACE-SOUTH /?ELS12
EQUAL? P-DIRECTION,P?NORTH \?ELS17
EQUAL? PIANO-LOC,1 \?ELS17
PRINTR "It's already up against the wall."
?ELS17: EQUAL? P-DIRECTION,P?NORTH \?ELS21
EQUAL? PIANO-LOC,2 \?ELS21
IN? ROUND-POST,NORTH-NICHE \?ELS28
FCLEAR SQUARE-POST,CANT-MOVE-POST-BIT
SET 'PIANO-LOC,1
PRINTR "The hearty breakfast you had this morning pays off as you push the piano north against the wall."
?ELS28: SET 'TIPPED,CRAWL-SPACE-NORTH
SET 'PIANO-LOC,1
PRINTR "You push the piano north a couple of feet and the room begins to tip. As the north side of the parlor tips down, the piano rolls across the floor and against the north wall with an atonal banging of the keys. The south side of the floor tilts up."
?ELS21: EQUAL? P-DIRECTION,P?NORTH \?ELS32
EQUAL? PIANO-LOC,3 \?ELS32
IN? ROUND-POST,NORTH-NICHE \?CND35
FSET ROUND-POST,CANT-MOVE-POST-BIT
?CND35: IN? SQUARE-POST,SOUTH-NICHE \?CND38
FSET SQUARE-POST,CANT-MOVE-POST-BIT
?CND38: SET 'PIANO-LOC,2
PRINTR "You push the piano north to the center of the room."
?ELS32: EQUAL? P-DIRECTION,P?SOUTH \?ELS42
EQUAL? PIANO-LOC,1 \?ELS42
IN? ROUND-POST,NORTH-NICHE \?CND45
FSET ROUND-POST,CANT-MOVE-POST-BIT
?CND45: IN? SQUARE-POST,SOUTH-NICHE \?CND48
FSET SQUARE-POST,CANT-MOVE-POST-BIT
?CND48: SET 'PIANO-LOC,2
PRINTR "You push the piano south to the center of the room."
?ELS42: EQUAL? P-DIRECTION,P?SOUTH \?ELS52
EQUAL? PIANO-LOC,2 \?ELS52
IN? SQUARE-POST,SOUTH-NICHE \?ELS59
FCLEAR ROUND-POST,CANT-MOVE-POST-BIT
SET 'PIANO-LOC,3
PRINTR "The hearty breakfast you had this morning pays off as you push the piano south against the wall."
?ELS59: MOVE ROUND-POST,CRAWL-SPACE-NORTH
FCLEAR ROUND-POST,NDESCBIT
FCLEAR ROUND-POST,CANT-MOVE-POST-BIT
SET 'TIPPED,CRAWL-SPACE-SOUTH
SET 'PIANO-LOC,3
PRINTR "You push the piano south a couple of feet and the room begins to tip. As the south side of the parlor tips down the piano rolls across the floor and slams against the south wall. The north side of the floor tilts up."
?ELS52: EQUAL? P-DIRECTION,P?SOUTH \?ELS63
EQUAL? PIANO-LOC,3 \?ELS63
PRINTR "It's already up against the wall."
?ELS63: EQUAL? P-DIRECTION,P?EAST,P?WEST,P?NE /?THN68
EQUAL? P-DIRECTION,P?NW,P?SE,P?SW \FALSE
?THN68: PRINTI "You try pushing the piano "
EQUAL? P-DIRECTION,P?EAST \?ELS72
PRINTI "east"
JUMP ?CND70
?ELS72: EQUAL? P-DIRECTION,P?WEST \?ELS74
PRINTI "west"
JUMP ?CND70
?ELS74: EQUAL? P-DIRECTION,P?NE \?ELS76
PRINTI "northeast"
JUMP ?CND70
?ELS76: EQUAL? P-DIRECTION,P?NW \?ELS78
PRINTI "northwest"
JUMP ?CND70
?ELS78: EQUAL? P-DIRECTION,P?SE \?ELS80
PRINTI "southeast"
JUMP ?CND70
?ELS80: EQUAL? P-DIRECTION,P?SW \?CND70
PRINTI "southwest"
?CND70: PRINTI " but the casters it rides on are old and worn. They're stuck, so"
CALL TPRINT,PIANO
PRINTR " will only move north and south."
?ELS12: PRINTR "Now that the room is tipped, the piano is too heavy to move."
?ELS5: EQUAL? PRSA,V?MOVE,V?PUSH \?ELS86
PRINTR "Did you have a direction in mind?"
?ELS86: EQUAL? PRSA,V?RAISE \?ELS88
CALL PERFORM,V?OPEN,PIANO
RTRUE
?ELS88: EQUAL? PRSA,V?LOWER \?ELS90
CALL PERFORM,V?CLOSE,PIANO
RTRUE
?ELS90: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTI "It's the baby grand that Aunt Hildegarde bought for you and Herman. Though neither of you practiced as you should, you've managed to maintain a shaky repertoire of standards. The casters on the piano's legs have seen better days. The piano lid is "
FSET? PIANO,OPENBIT \?ELS95
PRINTI "open"
JUMP ?CND93
?ELS95: PRINTI "closed"
?CND93: PRINTR "."
.FUNCT CASTERS-PSEUDO
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "The casters look old and worn, as if they have seen better days."
.FUNCT NICHE-F
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS5
PRINTI "You see"
FIRST? PRSO /?ELS8
PRINTI " nothing"
JUMP ?CND6
?ELS8: FIRST? PRSO /?KLU17
?KLU17: CALL APRINT,STACK
?CND6: PRINTI " in"
CALL TRPRINT,PRSO
RSTACK
?ELS5: EQUAL? PRSA,V?PUT \?ELS12
EQUAL? PRSI,SOUTH-NICHE,NORTH-NICHE \?ELS12
EQUAL? PRSO,SQUARE-POST,ROUND-POST /?ELS12
CALL WASTE-OF-TIME
RSTACK
?ELS12: EQUAL? PRSA,V?CLOSE,V?OPEN \FALSE
CALL CANT-OPEN-CLOSE
RSTACK
.FUNCT I-NOISE
FSET? HERE,CAVEBIT \?CND1
CALL QUEUE,I-NOISE,5
RFALSE
?CND1: CRLF
FSET? HERE,OUTDOORSBIT \?ELS6
CALL PICK-ONE,OUTDOOR-NOISE
PRINT STACK
JUMP ?CND4
?ELS6: CALL PICK-ONE,INDOOR-NOISE
PRINT STACK
?CND4: CRLF
RANDOM 20
ADD 30,STACK
CALL QUEUE,I-NOISE,STACK
RFALSE
.FUNCT OUT-OF-P-DEBUG
FSET FLASHLIGHT,ONBIT
MOVE GREEN-MATCH,PLAYER
MOVE FLASHLIGHT,PLAYER
PRINTI "Your flashlight comes on and a green match appears in your hand as you exit the work room."
CRLF
CRLF
EQUAL? P-WALK-DIR,P?NORTH \?ELS5
RETURN CELLAR
?ELS5: EQUAL? P-WALK-DIR,P?SW \?ELS7
RETURN ATTIC
?ELS7: EQUAL? P-WALK-DIR,P?WEST \?ELS9
RETURN BOAT-DOCK
?ELS9: EQUAL? P-WALK-DIR,P?EAST \?ELS11
RETURN HEART-OF-MAZE
?ELS11: EQUAL? P-WALK-DIR,P?SOUTH \?ELS13
RETURN UPSTAIRS-HALL-MIDDLE
?ELS13: EQUAL? P-WALK-DIR,P?SE \?ELS15
RETURN BOMB-SHELTER
?ELS15: EQUAL? P-WALK-DIR,P?NE \?ELS17
RETURN CRAWL-SPACE-NORTH
?ELS17: EQUAL? P-WALK-DIR,P?NW \FALSE
RETURN CANNON-EMPLACEMENT
.ENDI

1161
parlor.zil Normal file

File diff suppressed because it is too large Load Diff

2416
parser.zap Normal file

File diff suppressed because it is too large Load Diff

2678
parser.zil Normal file

File diff suppressed because it is too large Load Diff

2
points.zap Normal file
View File

@ -0,0 +1,2 @@
.ENDI

39
points.zil Normal file
View File

@ -0,0 +1,39 @@
;" POINTS
NAME IN ROOM DESC
_______________________________________________________________________________
PENGUIN CHIMNEY-3 CHIMNEY-3 Stuffed Penguin
RUBBER STAMP HEART-OF-MAZE-HOLE HEART-OF-MAZE Treasure Chest
CORPSE LINE BS-SAFE BOMB-SHELTER Rubber Stamp
GRATER WALL-SAFE LIVING-ROOM Cheese Grater
MASK COMPARTMENT CANNON-EMPLACEMENT Catcher's Mask
TOUPEE HOPPER CELLAR Buddy's Toupee
FINCH SACK UPSTAIRS-HALL-EAST Maltese finch
RING MONUMENT GAME-ROOM Big Diamond Ring
PARKING-METER FIRST-SECRET ROOM FIRST-SECRET-ROOM Parking Meter
FIRE HYDRANT TRUNK ATTIC Fire Hydrant
OTHER POINTS
______________________________________________________________________________
SKI DOWN STAIRS 10
PROJECTING MESSAGE 10
PUTTING MISSING PEG IN HOLE 10
SAVING 20
"

BIN
rmode.init Normal file

Binary file not shown.

925
rooms.zap Normal file
View File

@ -0,0 +1,925 @@
.FUNCT NOTE-F
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE,V?READ \FALSE
FSET? NOTE,READBIT /?CND6
FSET NOTE,READBIT
CALL PICK-ONE,CUPID-COMBS >CUPID-KEY
?CND6: PRINTI "Dearie, The magic number is """
GET CUPID-KEY,0
PRINTN STACK
PRINTR "."" Love, Aunt Hildegard"
.FUNCT FLASHLIGHT-F
EQUAL? PRSA,V?EXAMINE \?ELS5
FSET? FLASHLIGHT,WETBIT \?ELS10
PRINTR "The soggy flashlight is switched on, but isn't working."
?ELS10: PRINTI "The "
CALL DPRINT,FLASHLIGHT
PRINTI " is turned "
FSET? FLASHLIGHT,ONBIT \?ELS21
PRINTI "on"
RTRUE
?ELS21: PRINTI "off"
PRINTC 46
CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?LAMP-ON \?ELS31
FSET? FLASHLIGHT,WETBIT \?ELS34
PRINTR "You can't turn it on now, it's ruined. You took it in the water!"
?ELS34: FSET? FLASHLIGHT,ONBIT \?ELS38
PRINTR "It's already on."
?ELS38: FSET FLASHLIGHT,ONBIT
PRINTI "Okay,"
CALL TPRINT,FLASHLIGHT
PRINTI " is now on."
CRLF
ZERO? LIT \TRUE
SET 'LIT,TRUE-VALUE
CRLF
CALL V-LOOK
RTRUE
?ELS31: EQUAL? PRSA,V?LAMP-OFF \FALSE
FSET? FLASHLIGHT,WETBIT \?ELS52
PRINTI "It's wet. It's ruined. Who cares if it's on or off?"
RTRUE
?ELS52: FSET? FLASHLIGHT,ONBIT \?ELS56
FCLEAR FLASHLIGHT,ONBIT
PRINTI "Okay,"
CALL TPRINT,FLASHLIGHT
PRINTR " is now off."
?ELS56: PRINTR "It's already off."
.FUNCT STAIRS-F
EQUAL? PRSA,V?PUSH-DOWN \?ELS5
CALL MOVE-OBJ-DOWN
RSTACK
?ELS5: EQUAL? PRSA,V?SKI \FALSE
CALL DO-WALK,P?DOWN
RSTACK
.FUNCT FOYER-STAIRS-F
EQUAL? PRSA,V?PUSH-DOWN \?ELS5
CALL MOVE-OBJ-DOWN
RSTACK
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
PRINTI "The stairs"
ZERO? RAMP /?ELS12
PRINTI ", or what used to be the stairs is now a ramp"
JUMP ?CND10
?ELS12: PRINTI " look like stairs and need a better desc"
?CND10: PRINTC 46
CRLF
RTRUE
.FUNCT TO-UPSTAIRS-HALL
FSET? KNUEL,TOUCHBIT /?ELS5
PRINTI "You start to go up but suddenly the staircase flattens out and you slide back down the flatten stairs."
CRLF
SET 'RAMP,TRUE-VALUE
FSET KNUEL,TOUCHBIT
RFALSE
?ELS5: ZERO? RAMP /?ELS9
PRINTI "You start to go up the flatten stairs but slide back down."
CRLF
RFALSE
?ELS9: RETURN UPSTAIRS-HALL
.FUNCT KNUEL-F
EQUAL? PRSA,V?TURN \FALSE
PRINTI "You turn"
CALL TPRINT,KNUEL
PRINTI " and the "
FSET KNUEL,TOUCHBIT
ZERO? RAMP /?ELS10
PRINTI "ramp becomes stairs"
SET 'RAMP,FALSE-VALUE
JUMP ?CND8
?ELS10: PRINTI "stairs become a ramp"
SET 'RAMP,TRUE-VALUE
?CND8: PRINTC 46
CRLF
RTRUE
.FUNCT FOYER-CLOSET-ENTER-F
FSET? FOYER-CD,OPENBIT /?ELS5
CALL ITS-CLOSED,FOYER-CD
RFALSE
?ELS5: EQUAL? CLOSET-FLOOR,FOYER \?ELS7
RETURN CLOSET
?ELS7: EQUAL? CLOSET-FLOOR,CELLAR \?ELS9
RETURN CLOSET-TOP-2
?ELS9: CALL JIGS-UP,STR?81
RFALSE
.FUNCT ARMOR-F,OARG=0
ZERO? OARG /?ELS5
PRINTI "Standing demurely in the corner is a suit or armor, somewhat reminiscent of the suits of armor that once graced the castle of Winston Churchill. It is currrently in the position that Masters and Johnson described as "
GET ARMOR-DESCS,ARMOR-DESC-NUM
PRINT STACK
PRINTC 46
RTRUE
?ELS5: EQUAL? PRSA,V?EXAMINE \FALSE
CALL ARMOR-F,M-OBJDESC
RSTACK
.FUNCT I-ARMOR-MOVE
EQUAL? HERE,FOYER \?ELS3
CALL QUEUE,I-ARMOR-MOVE,2
RFALSE
?ELS3: INC 'ARMOR-DESC-NUM
EQUAL? ARMOR-DESC-NUM,7 \FALSE
SET 'ARMOR-DESC-NUM,0
RFALSE
.FUNCT CELLAR-RAMP-F
EQUAL? PRSA,V?PUSH-DOWN \FALSE
CALL MOVE-OBJ-DOWN
RSTACK
.FUNCT CELLAR-CLOSET-ENTER-F
FSET? CELLAR-CD,OPENBIT /?ELS5
CALL ITS-CLOSED,CELLAR-CD
RFALSE
?ELS5: EQUAL? CLOSET-FLOOR,CELLAR \?ELS7
RETURN CLOSET
?ELS7: RETURN SHAFT-BOTTOM
.FUNCT TO-FOYER-F
ZERO? RAMP /?ELS5
PRINTI "You slide down the flattened stairs."
CRLF
RETURN FOYER
?ELS5: RETURN FOYER
.FUNCT UPSTAIRS-CLOSET-ENTER-F
FSET? UPSTAIRS-CD,OPENBIT /?ELS5
CALL ITS-CLOSED,UPSTAIRS-CD
RFALSE
?ELS5: EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL \?ELS7
RETURN CLOSET
?ELS7: EQUAL? CLOSET-FLOOR,FOYER \?ELS9
RETURN CLOSET-TOP-3
?ELS9: CALL JIGS-UP,STR?91
RSTACK
.FUNCT CLOSET-EXIT-F,DOOR
CALL WHICH-DOOR? >DOOR
FSET? DOOR,OPENBIT /?ELS5
CALL ITS-CLOSED,CLOSET-DOOR
RFALSE
?ELS5: EQUAL? CLOSET-FLOOR,CELLAR \?ELS7
RETURN CELLAR
?ELS7: EQUAL? CLOSET-FLOOR,FOYER \?ELS9
RETURN FOYER
?ELS9: RETURN UPSTAIRS-HALL
.FUNCT WHICH-DOOR?
EQUAL? CLOSET-FLOOR,CELLAR \?ELS5
RETURN CELLAR-CD
?ELS5: EQUAL? CLOSET-FLOOR,FOYER \?ELS7
RETURN FOYER-CD
?ELS7: RETURN UPSTAIRS-CD
.FUNCT CLOSET-REF-F
EQUAL? PRSA,V?SEARCH,V?LOOK-INSIDE,V?EXAMINE \FALSE
EQUAL? HERE,FOYER \?ELS8
CALL LOOK-IN-CLOSET,FOYER-CD
RTRUE
?ELS8: EQUAL? HERE,UPSTAIRS-HALL \?ELS10
CALL LOOK-IN-CLOSET,UPSTAIRS-CD
RTRUE
?ELS10: CALL LOOK-IN-CLOSET,CELLAR-CD
RTRUE
.FUNCT LOOK-IN-CLOSET,DOOR
FSET? DOOR,OPENBIT /?ELS5
CALL ITS-CLOSED,DOOR
RSTACK
?ELS5: EQUAL? CLOSET-FLOOR,HERE \?ELS7
PRINTI "You see "
CALL DESCRIBE-CONTENTS,CLOSET,-1
PRINTC 46
CRLF
RTRUE
?ELS7: PRINTR "You see a dark shaft."
.FUNCT PEGS-F
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTR "You see three rather worn coat pegs."
.FUNCT PEG-3-F
EQUAL? PRSA,V?PUSH,V?PULL,V?MOVE /?THN6
EQUAL? PRSA,V?RUB,V?LOWER,V?RAISE \FALSE
?THN6: EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL \?ELS10
CALL HUM
JUMP ?CND8
?ELS10: PRINTI "The closet moves up "
EQUAL? CLOSET-FLOOR,FOYER \?ELS17
PRINTI "a floor"
JUMP ?CND15
?ELS17: PRINTI "two floors"
?CND15: PRINTI " to the upstairs hall."
CRLF
SET 'CLOSET-FLOOR,UPSTAIRS-HALL
?CND8: FSET? UPSTAIRS-CD,OPENBIT \?ELS28
FSET CLOSET-DOOR,OPENBIT
RTRUE
?ELS28: FCLEAR CLOSET-DOOR,OPENBIT
RTRUE
.FUNCT PEG-2-F
EQUAL? PRSA,V?PUSH,V?PULL,V?MOVE /?THN6
EQUAL? PRSA,V?RUB,V?LOWER,V?RAISE \FALSE
?THN6: EQUAL? CLOSET-FLOOR,FOYER \?ELS10
CALL HUM
JUMP ?CND8
?ELS10: PRINTI "The closet moves "
EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL \?ELS17
PRINTI "down a floor"
JUMP ?CND15
?ELS17: PRINTI "up a floor"
?CND15: PRINTI " to the front hall."
CRLF
SET 'CLOSET-FLOOR,FOYER
?CND8: FSET? FOYER-CD,OPENBIT \?ELS28
FSET CLOSET-DOOR,OPENBIT
RTRUE
?ELS28: FCLEAR CLOSET-DOOR,OPENBIT
RTRUE
.FUNCT PEG-1-F
EQUAL? PRSA,V?PUSH,V?PULL,V?MOVE /?THN6
EQUAL? PRSA,V?RUB,V?LOWER,V?RAISE \FALSE
?THN6: EQUAL? CLOSET-FLOOR,CELLAR \?ELS10
CALL HUM
JUMP ?CND8
?ELS10: PRINTI "The closet moves down "
EQUAL? CLOSET-FLOOR,FOYER \?ELS17
PRINTI "a floor"
JUMP ?CND15
?ELS17: PRINTI "two floors"
?CND15: PRINTI " to the cellar."
CRLF
SET 'CLOSET-FLOOR,CELLAR
?CND8: FSET? CELLAR-CD,OPENBIT \?ELS28
FSET CLOSET-DOOR,OPENBIT
RTRUE
?ELS28: FCLEAR CLOSET-DOOR,OPENBIT
RTRUE
.FUNCT HUM
PRINTR "You hear a humming noise."
.FUNCT VERTICAL-MAP-F
EQUAL? PRSA,V?EXAMINE,V?READ \?ELS5
PRINTR "You see the following:~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~"
?ELS5: EQUAL? PRSA,V?PUT-ON \FALSE
CALL WHOLE-MAP
RSTACK
.FUNCT HORIZONTAL-MAP-F
EQUAL? PRSA,V?EXAMINE,V?READ \?ELS5
PRINTR "You see the following:~ _______________________________________~ _____ __ ___ __~ ____ __ ___ _~ ____ ___ ___ _______ ___~ ____ ___ __ ___~ ____ _ _ ___~ ________ __ ___~ ___ __~ __ __ _ __ ___ ___~ _ _______ x _______ ______~ _____________ _ _ ______ ___~ ____ _____ __ __ ___ __~ ___~ __ _____ ___~ ___ __ _____~ _ _ ___ ____~ ___ _____ ________ ____~ _____ ___ ____~ _ __ _ ____~ ___ ____ _________ __ ___ ___ _______~"
?ELS5: EQUAL? PRSA,V?PUT-ON \FALSE
CALL WHOLE-MAP
RSTACK
.FUNCT WHOLE-MAP
PRINTI "You see the following:~ _______________________________________~
_____
__ ___
__
~
____
__
___
_
~
____
___
___
_______
___
~
____
___ __
___
~
____
_ _
___
~
________
__ ___
~
___
__
~
__ __
_
__
___
___
~
_
_______
x
_______
______
~
_____________
_
_
______ ___
~
____
_____
__
__ ___ __
~
___
~
__
_____
___
~
___
__ _____
~
_
_
___
____
~
___
_____
________
____
~
_____ ___
____
~
_
__
_
____
~
___
____
_________ __
___
___
_______
~"
RTRUE
.FUNCT BOWL-F
EQUAL? PRSA,V?EXAMINE \FALSE
CALL HELD?,FLASHLIGHT
ZERO? STACK /?ELS10
FSET? FLASHLIGHT,ONBIT \?ELS10
PRINTR "You shine your light on the bowl of the chandelier. Its thick, slick surface, covered with a rose-like pattern, reflects a rose colored light around the room. You can see a square shape in the bottom of the bowl."
?ELS10: PRINTR "The light from the flame reflects off the thick, slick surface of the chandelier's bowl. You can barely make out a rose-like pattern on the bowl."
.FUNCT 8-BALL-F
EQUAL? PRSA,V?TURN \FALSE
PRINTI "Looking into the bottom of the eight ball you the message"
PRINTC 34
CALL PICK-ONE,EIGHTISMS
PRINT STACK
PRINTR "."""
.FUNCT POOL-TABLE-F
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTI "The pool table is made of the finest wood and on the table is"
CALL DESCRIBE-SENT,POOL-TABLE
CRLF
RTRUE
.FUNCT CUE-BALL-F
EQUAL? PRSA,V?SHOOT,V?DROP,V?PUT \FALSE
EQUAL? PRSI,POCKET \FALSE
EQUAL? PRSA,V?SHOOT \?ELS10
CALL HELD?,POOL-CUE
ZERO? STACK \?ELS13
PRINTI "You're not holding"
CALL TRPRINT,POOL-CUE
RTRUE
?ELS13: IN? CUE-BALL,POOL-TABLE /?ELS17
PRINTI "The "
CALL DPRINT,CUE-BALL
PRINTI " isn't on"
CALL TRPRINT,POOL-TABLE
JUMP ?CND8
?ELS17: PRINTI "The ball speeds across the smooth, green surface into"
CALL TPRINT,POCKET
PRINTI ". You"
JUMP ?CND8
?ELS10: PRINTI "You "
PRINTB P-PRSA-WORD
CALL TPRINT,CUE-BALL
PRINTI " in"
CALL TPRINT,POCKET
PRINTI " and"
?CND8: PRINTI " hear it roll towards"
CALL TPRINT,BALL-RETURN
PRINTI ". As"
CALL TPRINT,CUE-BALL
PRINTI " drops into the return, a panel on the east wall swings open."
CRLF
MOVE CUE-BALL,BALL-RETURN
RTRUE
.FUNCT RACKED-BALLS-F
EQUAL? PRSA,V?EXAMINE \FALSE
PRINTI "You see a set of pool balls "
CALL HELD?,RACKED-BALLS
ZERO? STACK /?CND8
PRINTI "all glued to one another "
?CND8: PRINTR "in a triangle shape."
.FUNCT I-LIGHTS-DIM
FSET? HERE,OUTDOORSBIT \?ELS3
PRINTI "The sun is rapidly sinking into west. It's getting dark out here."
CRLF
JUMP ?CND1
?ELS3: FSET? HERE,ONBIT \?CND1
PRINTI "The sun is going down. It's getting dark in here."
CRLF
?CND1: CALL QUEUE,I-LIGHTS-OUT,10
RSTACK
.FUNCT I-LIGHTS-OUT
FCLEAR FOYER,ONBIT
FCLEAR CLOSET,ONBIT
FCLEAR CELLAR,ONBIT
PRINTI "The sun has set. "
CALL LIT?,HERE >LIT
ZERO? LIT \?ELS7
CALL TOO-DARK
RSTACK
?ELS7: CRLF
RTRUE
.FUNCT WINDOW-F
EQUAL? PRSA,V?EXAMINE \?ELS5
ZERO? SACK-IN-WINDOW /?ELS10
FSET? WINDOW,OPENBIT /?ELS10
PRINTR "The window is closed on a cloth which is tied in a knot. "
?ELS10: PRINTI "The "
CALL DPRINT,WINDOW
PRINTI " is "
FSET? WINDOW,OPENBIT \?ELS21
PRINTI "open."
JUMP ?CND19
?ELS21: PRINTI "closed"
?CND19: PRINTC 46
CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?OPEN \?ELS31
FSET? WINDOW,OPENBIT \?ELS36
CALL ALREADY-OPEN
RSTACK
?ELS36: ZERO? SACK-IN-WINDOW /?ELS38
PRINTI "As you lift up the window, the sack slides off the window ceil and falls to the ground with a decided thud."
CRLF
FSET WINDOW,OPENBIT
SET 'SACK-IN-WINDOW,FALSE-VALUE
RETURN SACK-IN-WINDOW
?ELS38: FSET? WINDOW,RMUNGBIT \?ELS43
PRINTI "With one hand you lift the window and with the other you pull the sack inside. "
CRLF
MOVE SACK,PLAYER
FSET? WINDOW,OPENBIT
SET 'SACK-IN-WINDOW,FALSE-VALUE
RETURN SACK-IN-WINDOW
?ELS43: PRINTI "You open the window."
CRLF
FSET WINDOW,OPENBIT
SET 'SACK-IN-WINDOW,FALSE-VALUE
RETURN SACK-IN-WINDOW
?ELS31: EQUAL? PRSA,V?CLOSE \FALSE
FSET? WINDOW,OPENBIT /?ELS56
CALL ALREADY-CLOSED
RSTACK
?ELS56: PRINTI "You close"
CALL TRPRINT,WINDOW
RSTACK
.ENDI

1107
rooms.zil Normal file

File diff suppressed because it is too large Load Diff

590
second-floor.zap Normal file
View File

@ -0,0 +1,590 @@
.FUNCT UPSTAIRS-HALL-MIDDLE-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is the middle of the upstairs hall. The hall stretches to the east and the west. To the south there is a"
FSET? UPSTAIRS-CD,OPENBIT \?ELS8
PRINTI "n open"
JUMP ?CND6
?ELS8: PRINTI " closed"
?CND6: PRINTI " closet door. "
FSET? ATTIC-DOOR,OPENBIT \?ELS13
PRINTI "There is pull-down ladder extending from the floor into an open panel in the ceiling here."
JUMP ?CND11
?ELS13: PRINTI "In the ceiling above you see the outline of a panel."
?CND11: PRINTI " You notice an unusual newel next to the stairs leading down."
RTRUE
.FUNCT UPSTAIRS-HALL-EAST-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is the eastern end of the upstairs hall, which stretches west. Doorways lead north and south. There is a"
FSET? SACK-WINDOW,WINDOW-OPEN-BIT \?ELS8
PRINTI "n open"
JUMP ?CND6
?ELS8: PRINTI " closed"
?CND6: PRINTI " window here"
ZERO? SACK-IN-WINDOW /?CND11
PRINTI ". A blue velvet sack is barely visible, sticking out from beneath the closed window"
?CND11: PRINTC 46
RTRUE
.FUNCT UPSTAIRS-HALL-EAST-EXIT-F
FSET? SACK,HAND-ON-SACK-BIT \?ELS5
ZERO? SACK-IN-WINDOW /?ELS5
PRINTI "You'll have to let go of the sack first."
CRLF
RFALSE
?ELS5: EQUAL? PRSO,P?NORTH \?ELS14
RETURN BEDROOM-2
?ELS14: EQUAL? PRSO,P?SOUTH \?ELS16
RETURN BEDROOM-3
?ELS16: RETURN UPSTAIRS-HALL-MIDDLE
.FUNCT FINCH-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTI "It's the Maltese finch"
FSET? FINCH,BROKEN-BIT \?CND6
PRINTI ", well, pieces of the Maltese finch"
?CND6: PRINTR " from Uncle Buddy's knockoff of ""The Maltese Falcon."" In Uncle Buddy's updated version, a Humphrey Bogart look-alike plays the part of a pet shop owner."
?ELS5: EQUAL? PRSA,V?MUNG,V?THROW \FALSE
FSET? FINCH,BROKEN-BIT /FALSE
CALL ULTIMATELY-IN?,FINCH
ZERO? STACK /FALSE
EQUAL? PRSO,FINCH \FALSE
CALL SPECIAL-DROP
ZERO? STACK \FALSE
MOVE FINCH,HERE
CALL BREAK-FINCH
RSTACK
.FUNCT BREAK-FINCH,DONT-TELL=0
FSET? FINCH,BROKEN-BIT /FALSE
PUTP FINCH,P?VALUE,0
FSET FINCH,BROKEN-BIT
ZERO? DONT-TELL \?CND4
PRINTI "As your hand releases"
CALL TPRINT,PRSO
PRINTI ", the sound of it smashing onto"
CALL TPRINT,GROUND
PRINTI " is masked only slightly by the almost inaudible sound of someone rolling over in his grave. Uncle Buddy perhaps?"
CRLF
?CND4: FSET FINCH,NARTICLEBIT
PUTP FINCH,P?SDESC,STR?138
RTRUE
.FUNCT SACK-F
EQUAL? PRSA,V?EXAMINE \?ELS5
FSET? SACK-WINDOW,WINDOW-OPEN-BIT /?ELS5
ZERO? SACK-IN-WINDOW /?ELS5
PRINTI "The "
CALL DPRINT,SACK
PRINTI " is just visible, stuck beneath the closed "
CALL DPRINT,SACK-WINDOW
PRINTR "."
?ELS5: EQUAL? PRSA,V?TAKE \?ELS9
ZERO? SACK-IN-WINDOW /?ELS9
FSET? SACK,HAND-ON-SACK-BIT /?ELS16
FSET SACK,HAND-ON-SACK-BIT
PRINTR "You grab hold of the top of the sack, but the rest of it is still under the closed window."
?ELS16: PRINTR "You already have your hand on it."
?ELS9: EQUAL? PRSA,V?DROP \?ELS20
FSET? SACK,HAND-ON-SACK-BIT \?ELS20
CALL PERFORM,V?LET-GO,SACK
RTRUE
?ELS20: EQUAL? PRSA,V?LET-GO \?ELS24
FSET? SACK,HAND-ON-SACK-BIT \?ELS24
FCLEAR SACK,HAND-ON-SACK-BIT
PRINTR "You let go of the sack."
?ELS24: EQUAL? PRSA,V?OPEN \?ELS28
ZERO? SACK-IN-WINDOW /?ELS33
PRINTI "You can't open"
CALL TPRINT,SACK
PRINTI " when it's stuck in"
CALL TRPRINT,SACK-WINDOW
RSTACK
?ELS33: GETP FINCH,P?VALUE
ZERO? STACK /FALSE
FSET SACK,OPENBIT
CALL BOKS-BIG-ONE,FINCH
ZERO? STACK /?CND37
EQUAL? TREASURES-FOUND,10 /TRUE
?CND37: PRINTI "Opening the sack reveals"
CALL APRINT,FINCH
PRINTR "."
?ELS28: EQUAL? PRSA,V?THROW \?ELS43
IN? FINCH,SACK \?ELS43
FSET? FINCH,BROKEN-BIT /?ELS43
CALL BREAK-FINCH
EQUAL? HERE,ROOF-1,ROOF-2 \?ELS50
MOVE SACK,PATIO
RTRUE
?ELS50: MOVE SACK,HERE
RTRUE
?ELS43: EQUAL? PRSA,V?PULL \?ELS54
FSET? SACK-WINDOW,WINDOW-OPEN-BIT /?ELS54
FSET? SACK,HAND-ON-SACK-BIT \?ELS61
PRINTR "It's stuck under the window."
?ELS61: PRINTI "You pull on"
CALL TPRINT,SACK
PRINTR ", but it's stuck under the window sill."
?ELS54: EQUAL? PRSA,V?PUT \FALSE
FSET? PRSO,FLAMEBIT \FALSE
PRINTI "Shouldn't you put out"
CALL TPRINT,PRSO
PRINTR " first?"
.FUNCT SACK-WINDOW-F
EQUAL? PRSA,V?EXAMINE \?ELS5
ZERO? SACK-IN-WINDOW /?ELS10
PRINTR "The window is closed on the top of a cloth sack."
?ELS10: PRINTI "The "
CALL DPRINT,SACK-WINDOW
PRINTI " is "
FSET? SACK-WINDOW,WINDOW-OPEN-BIT \?ELS16
PRINTI "open"
JUMP ?CND14
?ELS16: PRINTI "closed"
?CND14: PRINTR "."
?ELS5: EQUAL? PRSA,V?OPEN \?ELS20
FSET? SACK-WINDOW,WINDOW-OPEN-BIT \?ELS23
CALL ALREADY-OPEN
RTRUE
?ELS23: ZERO? SACK-IN-WINDOW /?ELS25
FSET? SACK,HAND-ON-SACK-BIT \?ELS29
FCLEAR SACK,HAND-ON-SACK-BIT
MOVE SACK,PLAYER
SET 'SACK-IN-WINDOW,FALSE-VALUE
FSET SACK-WINDOW,WINDOW-OPEN-BIT
PRINTI "With one hand you lift"
CALL TPRINT,SACK-WINDOW
PRINTI " and with the other you pull"
CALL TPRINT,SACK
PRINTI " inside."
CRLF
JUMP ?CND27
?ELS29: MOVE SACK,SOUTHEAST-JUNCTION
CALL BREAK-FINCH,TRUE-VALUE
PRINTI "As you lift up"
CALL TPRINT,SACK-WINDOW
PRINTC 44
CALL TPRINT,SACK
PRINTI " slides off"
CALL TPRINT,SACK-WINDOW
PRINTI " sill and falls to"
CALL TPRINT,GROUND
PRINTI " with a decided thud."
CRLF
?CND27: FSET SACK-WINDOW,WINDOW-OPEN-BIT
FCLEAR SACK,NDESCBIT
FCLEAR SACK,TRYTAKEBIT
SET 'SACK-IN-WINDOW,FALSE-VALUE
RTRUE
?ELS25: PRINTI "You open"
CALL TRPRINT,SACK-WINDOW
FSET SACK-WINDOW,WINDOW-OPEN-BIT
RTRUE
?ELS20: EQUAL? PRSA,V?CLOSE \?ELS35
FSET? SACK-WINDOW,WINDOW-OPEN-BIT /?ELS40
CALL ALREADY-CLOSED
RSTACK
?ELS40: PRINTI "You close"
CALL TRPRINT,SACK-WINDOW
FCLEAR SACK-WINDOW,WINDOW-OPEN-BIT
RTRUE
?ELS35: EQUAL? PRSA,V?PUT \?ELS44
EQUAL? PRSI,SACK-WINDOW \?ELS44
FSET? SACK-WINDOW,WINDOW-OPEN-BIT \?ELS51
PRINTI "You toss"
CALL TPRINT,PRSO
PRINTI " out"
CALL TRPRINT,SACK-WINDOW
EQUAL? PRSO,BLUE-CANDLE,WHITE-CANDLE,RED-CANDLE \?CND52
FSET? PRSO,FLAMEBIT \?CND52
CALL BLOW-OUT-CANDLE,PRSO
?CND52: EQUAL? PRSO,FINCH \?ELS63
FSET? FINCH,BROKEN-BIT \?THN60
?ELS63: CALL ULTIMATELY-IN?,FINCH,SACK
ZERO? STACK /?CND57
FSET? FINCH,BROKEN-BIT /?CND57
?THN60: CALL BREAK-FINCH,TRUE-VALUE
?CND57: MOVE PRSO,SOUTHEAST-JUNCTION
RTRUE
?ELS51: PRINTR "But it's not open!"
?ELS44: EQUAL? PRSA,V?LOOK-INSIDE \FALSE
CALL PERFORM,V?LOOK-INSIDE,WINDOW
RTRUE
.FUNCT UPSTAIRS-HALL-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This is the western end of the upstairs hall, which stretches east. There are doorways leading to the north and south."
FSET? UPSTAIRS-HALL-WEST,EVERYBIT \TRUE
RANDOM 100
LESS? 50,STACK /TRUE
FCLEAR UPSTAIRS-HALL-WEST,EVERYBIT
PRINTI " Hmmm. You have the uneasy feeling that someone is watching you."
RTRUE
.FUNCT BEDROOM-2-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "This was the guest room you shared with Cousin Herman during your summer visits. A quick glance at the bunk beds and you remember all too well the night in the bottom bunk when Cousin Herman got sick in the top bunk. "
RANDOM 100
LESS? 50,STACK /?CND6
PRINTI "You got even with him later. While he was asleep you squirted honey up his nose. When he ran and told Aunt Hildegarde what you had done, she didn't believe it was honey and told him he shouldn't be out of bed with such a bad cold. "
?CND6: PRINTI "A doorway leads south."
RTRUE
.FUNCT HANDLES-F
EQUAL? PRSA,V?TAKE \FALSE
PRINTR "You grip the handles firmly and imagine one of Uncle Buddy's guests clutching them in a drunken stupor. After a minute, you begin to feel a bit of nausea and let go of the handles."
.FUNCT UPSTAIRS-BATHROOM-F,RARG
EQUAL? RARG,M-LOOK \FALSE
PRINTI "It's a Hollywood bathroom. Everything from the temperature-controlled marble toilet seat to the Oscars for hot and cold water is overdone. The shower has a gold curtain and you can't help but notice the bath mat with Jack Valenti's picture on it"
FSET? BATH-MAT,TOUCHBIT \?CND6
PRINTI " has been moved"
?CND6: PRINTC 46
RTRUE
.FUNCT BATH-PSEUDO
EQUAL? PRSA,V?WALK,V?LAMP-ON,V?TAKE /?THN6
EQUAL? PRSA,V?USE,V?BOARD,V?ENTER \FALSE
?THN6: PRINTR "Sorry, the water has been turned off."
.FUNCT BATH-MAT-F
EQUAL? PRSA,V?EXAMINE \?ELS5
PRINTR "It's a rubber bath mat with a picture of the President of the Academy of Motion Picture Arts and Sciences, Jack Valenti, on it."
?ELS5: EQUAL? PRSA,V?PUT-ON \?ELS7
EQUAL? PRSI,BATH-MAT \?ELS7
PRINTR "Jack wouldn't like that."
?ELS7: EQUAL? PRSA,V?RAISE,V?MOVE,V?LOOK-UNDER \?ELS11
FSET? RED-CARD,INVISIBLE \?ELS11
FCLEAR RED-CARD,INVISIBLE
PRINTI "You move"
CALL TPRINT,BATH-MAT
PRINTI " and see"
CALL APRINT,RED-CARD
PRINTR " lying on the floor of the bathroom."
?ELS11: EQUAL? PRSA,V?TAKE \FALSE
FSET? RED-CARD,INVISIBLE \FALSE
CALL ITAKE
ZERO? STACK /TRUE
FCLEAR RED-CARD,INVISIBLE
PRINTI "As you take"
CALL TPRINT,BATH-MAT
PRINTI " you notice"
CALL APRINT,RED-CARD
PRINTR " lying on the floor of the bathroom."
.FUNCT UPSTAIRS-CD-F
EQUAL? PRSA,V?OPEN \FALSE
FSET? UPSTAIRS-CD,OPENBIT /FALSE
EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE /FALSE
EQUAL? HERE,UPSTAIRS-HALL-MIDDLE \FALSE
CALL OPEN-DOOR-TO-SHAFT
FSET UPSTAIRS-CD,OPENBIT
RTRUE
.FUNCT OPEN-DOOR-TO-SHAFT
PRINTI "You open the door and see the "
EQUAL? HERE,UPSTAIRS-HALL-MIDDLE \?ELS9
EQUAL? CLOSET-FLOOR,FOYER /?THN6
?ELS9: EQUAL? HERE,FOYER \?ELS5
EQUAL? CLOSET-FLOOR,CELLAR \?ELS5
?THN6: PRINTR "top of the closet at floor level and the shaft continuing upwards."
?ELS5: EQUAL? HERE,CELLAR \?ELS17
EQUAL? CLOSET-FLOOR,FOYER /?THN14
?ELS17: EQUAL? HERE,FOYER \?ELS19
EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE /?THN14
?ELS19: EQUAL? HERE,UPSTAIRS-HALL-MIDDLE \?ELS13
EQUAL? CLOSET-FLOOR,ATTIC \?ELS13
?THN14: PRINTI "bottom of the closet at ceiling level"
EQUAL? HERE,FOYER,UPSTAIRS-HALL-MIDDLE \?CND22
PRINTI " and a shaft below"
?CND22: PRINTR "."
?ELS13: EQUAL? HERE,CELLAR \?ELS30
EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE /?THN27
?ELS30: EQUAL? HERE,UPSTAIRS-HALL-MIDDLE \?ELS26
EQUAL? CLOSET-FLOOR,CELLAR \?ELS26
?THN27: EQUAL? HERE,CELLAR \?ELS35
PRINTI "bottom of the closet far above"
JUMP ?CND33
?ELS35: PRINTI "top of the closet far below"
?CND33: PRINTR "."
?ELS26: EQUAL? HERE,ATTIC \FALSE
PRINTI "top of the closet "
EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE \?ELS42
PRINTI "at floor level"
JUMP ?CND40
?ELS42: EQUAL? CLOSET-FLOOR,CELLAR \?ELS44
PRINTI "far below"
JUMP ?CND40
?ELS44: PRINTI "below"
?CND40: PRINTR "."
.FUNCT TO-FOYER-F
FSET? NEWEL,NEWEL-TURNED-BIT /?ELS5
PRINTI "As you step onto the first step, the staircase flattens and you slide down the flattened stairs"
RANDOM 100
LESS? 50,STACK /?CND6
PRINTI ", experiencing for a split second the euphoria only an Olympic bobsledder can know"
?CND6: PRINTI ". After you slide into the foyer, the stairs return to normal."
CRLF
CRLF
RETURN FOYER
?ELS5: FSET? SKIS,WORNBIT \?ELS13
PRINT SNOWPLOW
CRLF
CRLF
RETURN FOYER
?ELS13: PRINTI "You walk down the stairs to the..."
CRLF
CRLF
RETURN FOYER
.FUNCT UPSTAIRS-CLOSET-ENTER-F
FSET? UPSTAIRS-CD,OPENBIT /?ELS5
CALL ITS-CLOSED,UPSTAIRS-CD
RFALSE
?ELS5: EQUAL? CLOSET-FLOOR,UPSTAIRS-HALL-MIDDLE \?ELS7
RETURN CLOSET
?ELS7: EQUAL? CLOSET-FLOOR,FOYER \?ELS9
RETURN CLOSET-TOP
?ELS9: PRINTI "You enter the shaft and plunge down a floor. A bit shaken, you find yourself at..."
CRLF
CRLF
RETURN CLOSET-TOP
.FUNCT PHONE-F
EQUAL? PRSA,V?REPLY \?ELS5
PRINTR "It wasn't ringing."
?ELS5: EQUAL? PRSA,V?TAKE \?ELS7
FSET? PHONE,PHONE-DEAD-BIT \?ELS12
PRINTR "You don't hear a dial tone. The line is dead."
?ELS12: PRINTR "You hear a dial tone."
?ELS7: EQUAL? PRSA,V?PHONE \?ELS16
EQUAL? PRSO,PHONE \?ELS16
PRINTR "You should dial a number, such as 911."
?ELS16: EQUAL? PRSA,V?HANG-UP \FALSE
PRINTR "You replace the receiver."
.FUNCT THERE-DOESNT-SEEM
PRINTI "There doesn't seem to be"
RTRUE
.FUNCT V-PHONE
CALL GLOBAL-IN?,PHONE,HERE
ZERO? STACK \?ELS5
CALL THERE-DOESNT-SEEM
CALL APRINT,PHONE
PRINTR " here."
?ELS5: ZERO? PRSI /?ELS7
EQUAL? PRSI,PHONE /?ELS7
PRINTI "Too bad"
CALL TPRINT,PRSI
PRINTR " isn't a telephone."
?ELS7: FSET? PHONE,PHONE-DEAD-BIT \?ELS11
PRINTR "You don't hear a dial tone. The line is dead."
?ELS11: EQUAL? PRSO,INTNUM \?ELS13
GRTR? P-EXCHANGE,999 /?THN19
GRTR? P-NUMBER,9999 \?ELS18
?THN19: PRINTR "You dialed too many numbers. Remember what Aunt Hildegarde thought about guests making long distance calls!"
?ELS18: ZERO? P-EXCHANGE \?ELS26
ZERO? P-NUMBER /?THN23
?ELS26: EQUAL? P-EXCHANGE,555 \?ELS28
EQUAL? P-NUMBER,1212 /?THN23
?ELS28: ZERO? P-EXCHANGE \?ELS22
EQUAL? P-NUMBER,411 \?ELS22
?THN23: PRINTR "You hear a lazy voice come on the line. ""You have reached the Malibu phone company. Our operator is busy now. Mellow out and try your call again later."""
?ELS22: ZERO? P-EXCHANGE \?ELS32
EQUAL? P-NUMBER,911 \?ELS32
PRINTR "A police officer answers the phone in mid-snore saying he'll send a car right over, then hangs up and goes back to sleep."
?ELS32: EQUAL? P-EXCHANGE,492 \?ELS36
EQUAL? P-NUMBER,6000 \?ELS36
PRINTR "You hear voice talking at a fast pace trying to announce all the information necessary in 30 seconds. The voice says, ""Thank you for calling Infocom. We are closed now. Please call back during regular business hours, Monday through Friday, 9 a.m. to 6 p.m., Eastern Standard Time."" Then the voice speeds up even more, giving information for technical problems and the special numbers to call. Finally you hear the voice take a deep breath and say, ""Have a nice (BEEP),"" and the message ends."
?ELS36: EQUAL? P-EXCHANGE,576 \?ELS40
EQUAL? P-NUMBER,1851 \?ELS40
PRINTI "A nerdish voice answers"
CALL TPRINT,PHONE
PRINTR " saying, ""Hello, this is Roy G. Biv, Computer Service and Repair. Our office is closed now. Please call back during our regular business hours."""
?ELS40: EQUAL? P-EXCHANGE,576 \?ELS44
EQUAL? P-NUMBER,3190 \?ELS44
FSET? TOUPEE,CARDS-RIGHT-BIT \?ELS51
FSET PHONE,PHONE-DEAD-BIT
MOVE TOUPEE,HOPPER
PRINTR "An answering machine comes on the line. It sounds like Aunt Hildegarde's voice saying, ""I can't come to the phone right now. I'm dead. Don't forget to look in the hopper."" Then the line goes dead."
?ELS51: PRINTR "You get a busy signal."
?ELS44: RANDOM 100
LESS? 60,STACK /?ELS55
PRINTI "The "
CALL DPRINT,PHONE
PRINTR " rings and rings, but no one answers."
?ELS55: PRINTI "The "
CALL DPRINT,PHONE
PRINTR " is answered, ""Hello? Hello? Hey, what is this, a crank call? You made my wife cry the last time you called, you pervert."" You hear the receiver slammed down."
?ELS13: PRINTI "There's no sense in phoning"
CALL ARPRINT,PRSO
RSTACK
.FUNCT TOILET-F
EQUAL? PRSO,TOILET \FALSE
EQUAL? PRSA,V?SIT,V?USE,V?WALK \?ELS10
PRINTR "You'll have to hold it in. The water's been shut off, remember?"
?ELS10: EQUAL? PRSA,V?SMELL,V?LOOK-INSIDE \?ELS12
PRINTR "The toilet is immaculate. Nosey, aren't you?"
?ELS12: EQUAL? PRSA,V?FLUSH \FALSE
PRINTR "You pull the handle, but nothing happens. The water has been shut off."
.FUNCT SEAT-F
EQUAL? PRSA,V?TAKE \?ELS5
EQUAL? PRSO,SEAT \?ELS5
PRINT RIDICULOUS
CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?PUT \?ELS9
EQUAL? PRSI,SEAT,SOFA \?ELS9
FCLEAR PRSO,WEARBIT
MOVE PRSO,HERE
PRINTI "It seems a shame to mar"
CALL TPRINT,PRSI
PRINTI " with"
CALL APRINT,PRSO
PRINTR ", so you put it on the floor instead."
?ELS9: EQUAL? PRSA,V?SIT,V?BOARD,V?CLIMB-ON /?THN14
EQUAL? PRSA,V?ENTER \FALSE
?THN14: PRINTR "You sit down and relax for a moment. Soon your mind begins to ponder your Aunt's wealth and you jump to your feet, ready to continue."
.FUNCT BED-F
EQUAL? PRSA,V?TAKE \?ELS5
EQUAL? PRSO,BED \?ELS5
PRINT RIDICULOUS
CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?BOARD,V?CLIMB-ON,V?LIE-DOWN /?THN10
EQUAL? PRSA,V?ENTER,V?SIT \?ELS9
?THN10: PRINTR "You get into bed and relax for a moment. Soon your mind begins to ponder your Aunt's wealth and you jump to your feet, ready to continue."
?ELS9: EQUAL? PRSA,V?PUT-ON,V?PUT \?ELS13
EQUAL? PRSI,BED \?ELS13
MOVE PRSO,HERE
PRINTI "Rather than marring the bed's fine linen with"
CALL APRINT,PRSO
PRINTR ", you put it on the floor."
?ELS13: EQUAL? PRSA,V?PUSH-TO,V?PUSH \FALSE
PRINT RIDICULOUS
CRLF
RTRUE
.FUNCT I-SANDS-OF-TIME,X=0,MINUTES,CNT=0,TCNT=0,TNUM,FOLLOW-THE-LAWYER=0
ADD MOVES,1260 >MINUTES
EQUAL? MINUTES,1859 \?ELS3
SET 'X,60
CALL MICKEY-MOUSE,2,STR?144
JUMP ?CND1
?ELS3: EQUAL? MINUTES,1919 \?ELS5
SET 'X,30
CALL MICKEY-MOUSE,1,STR?145
JUMP ?CND1
?ELS5: EQUAL? MINUTES,1949 \?ELS7
SET 'X,30
CALL MICKEY-MOUSE,30,STR?146
JUMP ?CND1
?ELS7: EQUAL? MINUTES,1979 \?CND1
EQUAL? HERE,FOYER,FRONT-PORCH,SOUTH-JUNCTION \?CND10
FSET LIVING-ROOM,ONBIT
SET 'FOLLOW-THE-LAWYER,TRUE-VALUE
CRLF
PRINT OUT-OF-NOWHERE
PRINTI """Ah, there you are. Let's go into the living room and talk,"" says the lawyer. You follow him to the living room."
CRLF
CRLF
CALL GOTO,LIVING-ROOM
CRLF
?CND10: IN? PLAYER,LIVING-ROOM \?ELS15
ZERO? FOLLOW-THE-LAWYER \?CND16
CRLF
PRINT OUT-OF-NOWHERE
?CND16: PRINTI """Well, let's wrap this up quickly, I've got to be in court for the LaFlank divorce this afternoon,"" the lawyer snaps. He pauses for a moment, glancing around the room"
GET TREASURE-TABLE,0 >TNUM
?PRG19: IGRTR? 'CNT,TNUM /?REP20
GET TREASURE-TABLE,CNT >X
CALL VISIBLE?,X
ZERO? STACK /?PRG19
INC 'TCNT
JUMP ?PRG19
?REP20: ZERO? TCNT \?ELS29
PRINTI ". ""Uhh, I don't see any 'treasures.'"
JUMP ?CND27
?ELS29: EQUAL? TCNT,10 \?ELS31
PRINTI " then at a small note pad in his hand. He congratulates you for finding all the ""treasures."" ""But you didn't follow your aunt's instructions in the note."
JUMP ?CND27
?ELS31: PRINTI " then at a small note pad in his hand. ""Uhh, I only count "
GET NUMWORDS,TCNT
PRINT STACK
PRINTI " 'treasure"
EQUAL? TCNT,1 /?CND34
PRINTC 115
?CND34: PRINTI "' here."
?CND27: PRINTI " I'm sorry, but you won't be inheriting Mrs. Burbank's estate after all,"" says the lawyer. He turns and leaves as his words echo in your head. Then you feel a sharp pain in your backside, as you kick yourself for not having "
EQUAL? TCNT,10 \?ELS39
PRINTI "followed the instructions in the note"
JUMP ?CND37
?ELS39: EQUAL? TREASURES-FOUND,10 \?ELS41
PRINTI "brought all the ""treasures"" you found to the living room"
JUMP ?CND37
?ELS41: ZERO? TREASURES-FOUND \?ELS43
PRINTI "found any of the ""treasures"""
JUMP ?CND37
?ELS43: PRINTI "found all the ""treasures"" in time"
?CND37: PRINTC 46
CRLF
JUMP ?CND13
?ELS15: PRINTI "Your time is up! "
EQUAL? TREASURES-FOUND,10 \?ELS50
PRINTI "You did a good job by finding all the ""treasures,"" but you didn't meet the lawyer at 9 a.m."
JUMP ?CND48
?ELS50: GRTR? TREASURES-FOUND,0 \?ELS52
PRINTI "You only found "
GET NUMWORDS,TREASURES-FOUND
PRINT STACK
PRINTI " of the ten ""treasures."""
JUMP ?CND48
?ELS52: PRINTI "What a bozo! You didn't find any ""treasures."" You're not fit to be fertilizer for the family tree! Are you sure you're a Burbank? I'd go on but there is only so much room on a disk."
?CND48: PRINTI " You can't help but think about how disappointed Aunt Hildegarde and Uncle Buddy would have been with you right now. Never mind your own disappointment of missing out on inheriting a fortune."
?CND13: SET 'MOVES,720
USL
CALL FINISH
?CND1: CALL QUEUE,I-SANDS-OF-TIME,X
RSTACK
.FUNCT MICKEY-MOUSE,NUM,STRING
CRLF
PRINTI "[Hurry up, you only have "
PRINTN NUM
PRINTC 32
PRINT STRING
PRINTR " left!]"
.ENDI

1002
second-floor.zil Normal file

File diff suppressed because it is too large Load Diff

14
syntax.zap Normal file
View File

@ -0,0 +1,14 @@
.FUNCT V-FLUSH
EQUAL? PRSO,INTNUM \?CND1
EQUAL? P-NUMBER,33 \?CND1
GETB 0,18
ZERO? STACK /?THN6
ZERO? P-VMERGE /?CND1
?THN6: CALL GOTO,P-NMERGE
CALL V-LOOK
RTRUE
?CND1: PRINTR "You can't flush that."
.ENDI

877
syntax.zil Normal file
View File

@ -0,0 +1,877 @@
"SYNTAX for ANTHILL (C)1986 Infocom Inc. All Rights Reserved."
<BUZZ A AN THE IS ARE AM AND OF THEN ALL BUT EXCEPT \. \, \"
HERE SOME ;FRONT MR MISS MRS MONEY ; PLEASE
YESTER GREENS CAMELO STARDU MISTY PEOPLE FEELIN TOMORR OKLAHO TONIGH>
<PREP-SYNONYM RIGHT CLOCKWISE>
<PREP-SYNONYM LEFT COUNTERCLOCKWISE>
<PREP-SYNONYM TO TOWARD>
<PREP-SYNONYM WITH USING>
<PREP-SYNONYM THROUGH THRU>
<PREP-SYNONYM ON ONTO>
<PREP-SYNONYM IN INSIDE INTO BEYOND BETWEEN>
<PREP-SYNONYM OUT OUTSIDE>
<PREP-SYNONYM UNDER BELOW BENEATH UNDERNEATH>
<PREP-SYNONYM AROUND ALONG>
<SYNONYM ALL BOTH EVERYTHING>
<PREP-SYNONYM OVER ACROSS>
<SYNONYM NORTH N>
<SYNONYM SOUTH S>
<SYNONYM EAST E>
<SYNONYM WEST W>
<SYNONYM DOWN D>
<SYNONYM UP U>
<SYNONYM NE NORTHE>
<SYNONYM NW NORTHW>
<SYNONYM SE SOUTHE>
<SYNONYM SW SOUTHW>
<SYNTAX VERBOSE = V-VERBOSE>
<SYNTAX BRIEF = V-BRIEF>
<SYNTAX SUPER = V-SUPER-BRIEF>
<VERB-SYNONYM SUPER SUPERBRIEF>
<SYNTAX DIAGNOSE = V-DIAGNOSE>
<SYNTAX I = V-INVENTORY>
<VERB-SYNONYM I INVENTORY>
<SYNTAX QUIT = V-QUIT>
<VERB-SYNONYM QUIT Q>
<SYNTAX RESTAR = V-RESTART>
<SYNTAX RESTOR = V-RESTORE>
<SYNTAX SAVE = V-SAVE>
<SYNTAX SAVE OBJECT = V-RESCUE>
<SYNTAX SCORE = V-SCORE>
<SYNTAX SCRIPT = V-SCRIPT>
<SYNTAX TIME = V-TIME>
<VERB-SYNONYM TIME T>
<SYNTAX UNSCRIPT = V-UNSCRIPT>
<SYNTAX VERSION = V-VERSION>
<SYNTAX $VERIFY = V-$VERIFY>
<SYNTAX $VERIFY OBJECT = V-$VERIFY>
<SYNTAX \#RANDOM OBJECT = V-$RANDOM>
<SYNTAX \#COMMAND = V-$COMMAND>
<SYNTAX \#RECORD = V-$RECORD>
<SYNTAX \#UNRECORD = V-$UNRECORD>
;<SYNTAX $DEBUG = V-$DEBUG>
;<SYNTAX $TREASURE = V-$TREASURE>
;<SYNTAX $MOVES = V-$MOVES>
;<SYNTAX $HERE = V-$HERE>
;<SYNTAX $HNUM = V-$HEDGE-NUM>
;<SYNTAX $CARDS = V-$CCARDS>
;<SYNTAX $NINE = V-$NINE>
;<SYNTAX TTEN = V-TTEN>
;<SYNTAX LAZY = V-LAZY>
;<ROUTINE V-$NINE ()
<SETG TREASURES-FOUND 9>>
;<ROUTINE V-TTEN ()
<MOVE ,PARKING-METER ,LIVING-ROOM>
<MOVE ,CORPSE-LINE ,LIVING-ROOM>
<MOVE ,RUBBER-STAMP ,LIVING-ROOM>
<MOVE ,GRATER ,LIVING-ROOM>
<MOVE ,MASK ,LIVING-ROOM>
<MOVE ,TOUPEE ,LIVING-ROOM>
<MOVE ,FIRE-HYDRANT ,LIVING-ROOM>
<MOVE ,FINCH ,LIVING-ROOM>
<MOVE ,RING ,LIVING-ROOM>
<MOVE ,PENGUIN ,LIVING-ROOM>
<FSET ,FLASHLIGHT ,ONBIT>
<FCLEAR ,RING ,ON-MONUMENT-BIT>
<FSET ,DOG ,CLUTCHING-BIT>
<SETG BURN-DOME 0> ;"hole burned in dome"
<SETG TREASURES-FOUND 10>
<FCLEAR ,RING ,NDESCBIT>
<GOTO ,LIVING-ROOM>>
;<ROUTINE V-$CCARDS ()
<MOVE ,RED-CARD ,PLAYER>
<MOVE ,ORANGE-CARD ,PLAYER>
<MOVE ,YELLOW-CARD ,PLAYER>
<MOVE ,GREEN-CARD ,PLAYER>
<MOVE ,BLUE-CARD ,PLAYER>
<MOVE ,INDIGO-CARD ,PLAYER>
<MOVE ,VIOLET-CARD ,PLAYER>
<FCLEAR ,INDIGO-CARD ,INVISIBLE>
<FCLEAR ,GREEN-CARD ,INVISIBLE>
<FCLEAR ,RED-CARD ,INVISIBLE>
<MOVE ,PLAYER ,CELLAR>>
;<ROUTINE V-$TREASURE ()
<SETG TREASURES-FOUND 10>
<MOVE ,PEG-0 ,PLAYER>
<GOTO ,CLOSET>>
;<ROUTINE V-$HERE ()
<TELL D <LOC ,PLAYER> CR>
<TELL "Closet floor: " D ,CLOSET-FLOOR CR>>
<GLOBAL HEDGE-NUM <>>
;<ROUTINE V-$HEDGE-NUM ()
<COND (,HEDGE-NUM
<SETG HEDGE-NUM <>>)
(T
<SETG HEDGE-NUM T>)>>
;<GLOBAL LAZY T>
;<ROUTINE V-LAZY ()
<COND (,LAZY
<SETG HM-ROOM 388>
<SETG LAZY <>>
<GOTO ,HEDGE-MAZE>)
(T
<SETG HM-ROOM 439>
<SETG LAZY T>
<GOTO ,ENTRANCE-TO-MAZE>)>>
;<ROUTINE V-$ONHELP ()
<SETG HELP T>
<TELL
"Bugs? Bugs? We're gonna grab'em by the nose and kick'em in the ass.
We're gonna kick the hell out of 'em all the time and go through them --
like shit through a goose. Now go find those bugs." CR>
<SETG SONG-NUMBER <- <RANDOM 10> 1>>
<TELL <GET ,SONGS ,SONG-NUMBER> CR>
<RTRUE>>
;<ROUTINE V-$OFFHELP ()
<SETG HELP <>>
<TELL "Mo'fos routed!" CR>
<RTRUE>>
;<ROUTINE V-$MOVES ()
<SETG MOVES -1>>
<ROUTINE V-FLUSH ()
<COND (<AND <EQUAL? ,PRSO ,INTNUM>
<EQUAL? ,P-NUMBER 33>
<OR <ZIL?>
<NOT <ZERO? ,P-VMERGE>>>>
<GOTO ,P-NMERGE>
<V-LOOK>
<RTRUE>)>
<TELL "You can't flush that." CR>
<RTRUE>>
;"OLD CLOCK"
;<ROUTINE V-$CLOCK ("AUX" E TICK HAND)
<COND (<AND <PRSO? INTNUM>
<NOT <ZERO? ,P-NUMBER>>>
<SET HAND <REST ,C-TABLE ,C-INTS>>
<SET E <REST ,C-TABLE ,C-TABLELEN>>
<REPEAT ()
<COND (<EQUAL? .HAND .E>
<RETURN>)
(<NOT <ZERO? <GET .HAND ,C-RTN>>>
<SET TICK <GET .HAND ,C-TICK>>
<COND (<G? .TICK 0>
<SET TICK <- .TICK ,P-NUMBER>>
<PUT .HAND ,C-TICK .TICK>)>)>
<SET HAND <REST .HAND ,C-INTLEN>>>
<SETG MOVES <+ ,MOVES ,P-NUMBER>>
<V-TIME>
<RTRUE>)>
<TELL "Scram." CR>
<RTRUE>>
"<SYNTAX AGAIN = V-AGAIN>
<VERB-SYNONYM AGAIN G>"
<SYNTAX ANSWER OBJECT (FIND ACTORBIT) = V-REPLY>
<SYNTAX ANSWER TO OBJECT (FIND ACTORBIT) = V-REPLY>
<VERB-SYNONYM ANSWER REPLY RESPOND ; RETORT>
; <SYNTAX APPLY OBJECT (HELD MANY) TO OBJECT = V-PUT PRE-PUT>
<SYNTAX ASK OBJECT (FIND ACTORBIT) = V-QUESTION>
<SYNTAX ASK OBJECT (FIND ACTORBIT) ABOUT OBJECT = V-ASK-ABOUT>
<SYNTAX ASK OBJECT (FIND ACTORBIT) FOR OBJECT = V-ASK-FOR>
<VERB-SYNONYM ASK QUERY INTERROGATE QUIZ QUESTION>
; <SYNTAX ASCEND = V-CLIMB-UP>
<SYNTAX ASCEND OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX BACK = V-WALK-AROUND>
<SYNTAX BITE OBJECT = V-BITE>
<SYNTAX BLOW OBJECT = V-BLOW-INTO>
<SYNTAX BLOW IN OBJECT = V-BLOW-INTO>
<SYNTAX BLOW THROUGH OBJECT = V-BLOW-INTO>
<SYNTAX BLOW UP OBJECT = V-MUNG ; V-INFLATE>
<SYNTAX BLOW OUT OBJECT = V-LAMP-OFF>
<SYNTAX BOARD OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-BOARD PRE-BOARD>
<VERB-SYNONYM BOARD EMBARK>
; <SYNTAX BOW TO OBJECT (FIND ACTORBIT) = V-BOW>
; <SYNTAX BOW BEFORE OBJECT (FIND ACTORBIT) = V-BOW>
; <VERB-SYNONYM BOW KNEEL GROVEL ; "GENUFLECT PROSTRATE">
<SYNTAX BREAK OBJECT (ON-GROUND IN-ROOM) = V-MUNG>
<SYNTAX BREAK OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
WITH OBJECT (HAVE HELD CARRIED) = V-MUNG>
<SYNTAX BREAK OBJECT (ON-GROUND IN-ROOM)
OFF OBJECT (ON-GROUND IN-ROOM) = V-MUNG>
<SYNTAX BREAK DOWN OBJECT (ON-GROUND IN-ROOM HELD CARRIED)
WITH OBJECT (HAVE HELD CARRIED) = V-MUNG>
<SYNTAX BREAK IN OBJECT (ON-GROUND IN-ROOM) = V-MUNG>
<SYNTAX BREAK IN OBJECT (ON-GROUND IN-ROOM)
WITH OBJECT (HAVE HELD CARRIED) = V-MUNG>
<SYNTAX BREAK THROUGH OBJECT (ON-GROUND IN-ROOM) = V-MUNG>
<SYNTAX BREAK THROUGH OBJECT (ON-GROUND IN-ROOM)
WITH OBJECT (HAVE HELD CARRIED) = V-MUNG>
<VERB-SYNONYM BREAK DESTROY DAMAGE SMASH DEMOLISH WRECK CRACK TRASH ERASE>
<SYNTAX BURN OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (FIND FLAMEBIT) (HELD CARRIED) = V-BURN>
<SYNTAX BURN DOWN OBJECT (HELD CARRIED ON-GROUND IN-ROOM) WITH OBJECT
(FIND FLAMEBIT) (HELD CARRIED) = V-BURN>
<SYNTAX BUY OBJECT ; (ON-GROUND IN-ROOM) = V-BUY>
<SYNTAX BUY OBJECT WITH OBJECT (HELD HAVE) = V-BUY>
;<SYNTAX BYE = V-GOODBYE>
;<SYNTAX BYE OBJECT = V-GOODBYE>
;<VERB-SYNONYM BYE GOODBYE SAYONARA ADIOS FAREWELL>
<SYNTAX CALL OBJECT = V-PHONE ;PRE-PHONE>
<SYNTAX CALL OBJECT ON OBJECT = V-PHONE ;PRE-PHONE>
<SYNTAX CALL UP OBJECT = V-PHONE ;PRE-PHONE>
<VERB-SYNONYM CALL PHONE DIAL>
<SYNTAX CLEAN OBJECT = V-CLEAN>
<SYNTAX CLEAN OFF OBJECT = V-CLEAN>
<VERB-SYNONYM CLEAN SWEEP ; WIPE BRUSH ; POLISH>
; <SYNTAX CLIMB = V-CLIMB-UP>
<SYNTAX CLIMB OBJECT (ON-GROUND IN-ROOM) = V-CLIMB>
<SYNTAX CLIMB ON OBJECT ; (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX CLIMB UP OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX CLIMB DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX CLIMB OVER OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-OVER>
<SYNTAX CLIMB UNDER OBJECT (ON-GROUND IN-ROOM) = V-ENTER>
<SYNTAX CLIMB THROUGH OBJECT (ON-GROUND IN-ROOM) = V-ENTER>
<SYNTAX CLIMB IN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-ENTER>
<SYNTAX CLIMB OUT OBJECT (FIND RLANDBIT) = V-EXIT>
<VERB-SYNONYM CLIMB SCALE>
<SYNTAX CLOSE OBJECT (FIND CONTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-CLOSE>
<VERB-SYNONYM CLOSE SHUT SLAM>
<SYNTAX COMPAR OBJECT TO OBJECT = V-COMPARE>
<SYNTAX COUNT OBJECT = V-COUNT>
<VERB-SYNONYM COUNT TALLY ; TABULATE>
<SYNTAX COVER OBJECT WITH OBJECT (TAKE) = V-COVER>
<SYNTAX CROSS OBJECT = V-CROSS>
<VERB-SYNONYM CROSS TRAVERSE>
<SYNTAX CUT OBJECT WITH OBJECT (CARRIED HELD) = V-CUT>
<SYNTAX CUT THROUGH OBJECT WITH OBJECT (CARRIED HELD) = V-CUT>
<SYNTAX CUT LOOSE OBJECT WITH OBJECT (CARRIED HELD) = V-CUT>
<SYNTAX CUT OBJECT LOOSE OBJECT (CARRIED HELD) = V-CUT>
<VERB-SYNONYM CUT SLASH CLIP ; "SLICE GASH LACERATE CLEAVE SEVER SPLIT TEAR RIP">
; <SYNTAX DEFLATE OBJECT = V-DEFLATE>
; <SYNTAX DESCEND = V-CLIMB-DOWN>
<SYNTAX DESCEND OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX DIG IN OBJECT = V-DIG>
<SYNTAX DIG AT OBJECT = V-DIG>
<SYNTAX DIG UP OBJECT = V-DIG>
<SYNTAX DIG WITH OBJECT = V-DIG-WITH>
<SYNTAX DIG THROUGH OBJECT = V-DIG>
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM) WITH OBJECT (HELD CARRIED HAVE) = V-DIG>
<SYNTAX DIG IN OBJECT (ON-GROUND IN-ROOM) WITH OBJECT (HELD CARRIED HAVE)
= V-DIG>
<SYNTAX DIG OBJECT (ON-GROUND IN-ROOM) IN OBJECT = V-DIG>
<VERB-SYNONYM DIG EXCAVATE>
<SYNTAX DISEMBARK OBJECT (FIND VEHBIT) (ON-GROUND IN-ROOM) = V-DISEMBARK>
<VERB-SYNONYM DISEMBARK DEBARK>
<SYNTAX DRINK OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-DRINK>
<SYNTAX DRINK FROM OBJECT (HELD CARRIED) = V-DRINK-FROM>
<VERB-SYNONYM DRINK SIP GUZZLE ; "IMBIBE QUAFF SWILL">
<SYNTAX DROP OBJECT (HELD MANY ;HAVE) = V-DROP>
<SYNTAX DROP OBJECT (HELD MANY) DOWN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY) IN OBJECT = V-PUT PRE-PUT>
<SYNTAX DROP OBJECT (HELD MANY) ON OBJECT = V-PUT-ON PRE-PUT>
<VERB-SYNONYM DROP DUMP>
<SYNTAX EAT OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-EAT>
<VERB-SYNONYM EAT CONSUME SWALLOW DEVOUR GOBBLE NIBBLE ; INGEST>
<SYNTAX EMPTY OBJECT (HELD CARRIED) = V-EMPTY>
<SYNTAX EMPTY OUT OBJECT (HELD CARRIED) = V-EMPTY>
<SYNTAX EMPTY OBJECT FROM OBJECT = V-TAKE PRE-TAKE>
<SYNTAX EMPTY OBJECT OUT OBJECT = V-TAKE PRE-TAKE>
<SYNTAX ENTER OBJECT (FIND RLANDBIT) = V-ENTER> ;"was V-THROUGH"
<VERB-SYNONYM ENTER ; BOARD ; EMBARK>
; <SYNTAX EXIT = V-EXIT>
<SYNTAX EXIT OBJECT (FIND RLANDBIT) = V-EXIT>
<VERB-SYNONYM EXIT DEPART SCRAM WITHDRAW ; DISEMBARK ; DEBARK>
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM) ; (FIND DARKBIT)
= V-EXAMINE PRE-EXAMINE>
<SYNTAX EXAMINE IN OBJECT (HELD CARRIED IN-ROOM ON-GROUND)
= V-LOOK-INSIDE>
<SYNTAX EXAMINE ON OBJECT (HELD CARRIED IN-ROOM ON-GROUND) = V-LOOK-ON>
<SYNTAX EXAMINE FOR OBJECT = V-FIND>
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
THROUGH OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
= V-LOOK-THRU>
<SYNTAX EXAMINE OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
= V-LOOK-THRU>
<VERB-SYNONYM EXAMINE ; EXAM INSPECT DESCRIBE CHECK STUDY SURVEY OBSERVE WATCH SEE>
<SYNTAX EXTINGUISH OBJECT (FIND FLAMEBIT) = V-LAMP-OFF>
<VERB-SYNONYM EXTINGUISH DOUSE QUENCH SNUFF>
;<SYNTAX FEED OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) WITH OBJECT
(HELD ; HAVE ; MANY) = V-SFEED>
;<SYNTAX FEED OBJECT (HELD ; HAVE ; MANY) TO OBJECT
(FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-FEED PRE-FEED>
;<SYNTAX FEED OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
OBJECT (HELD ; HAVE ; MANY) = V-SFEED>
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED HAVE) = V-FILL>
<SYNTAX FILL OBJECT (FIND CONTBIT) (HELD CARRIED HAVE) WITH OBJECT = V-FILL>
<SYNTAX FIND OBJECT = V-FIND>
<VERB-SYNONYM FIND SEEK>
<SYNTAX FLUSH OBJECT = V-FLUSH>
<SYNTAX FLY = V-FLY>
<SYNTAX FLY OBJECT = V-FLY>
<SYNTAX FLY ON OBJECT = V-FLY>
<SYNTAX FLY WITH OBJECT = V-FLY>
<SYNTAX FOCUS OBJECT = V-FOCUS>
;<SYNTAX FOLLOW = V-FOLLOW>
<SYNTAX FOLLOW OBJECT = V-FOLLOW>
<VERB-SYNONYM FOLLOW PURSUE CHASE>
; <SYNTAX FUCK = V-CURSE>
; <SYNTAX FUCK OBJECT (FIND ACTORBIT) = V-CURSE>
; <VERB-SYNONYM FUCK FUCKED GODDAMNED SHIT ASSHOLE SHITHEAD SCREW FUCKING
COCKSUCKER>
<SYNTAX GIVE OBJECT (HELD ; HAVE ; MANY)
TO OBJECT (FIND ACTORBIT) (IN-ROOM ON-GROUND) = V-GIVE PRE-GIVE>
<SYNTAX GIVE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
OBJECT (HELD ; HAVE ; MANY) = V-SGIVE>
<VERB-SYNONYM GIVE HAND DONATE DELIVER OFFER BESTOW PRESENT>
<SYNTAX GO OBJECT = V-WALK>
<SYNTAX GO IN OBJECT (FIND RLANDBIT) = V-ENTER>
<SYNTAX GO OUT OBJECT (FIND RLANDBIT) = V-EXIT>
<SYNTAX GO OVER OBJECT = V-CROSS>
<SYNTAX GO THROUGH OBJECT = V-ENTER>
<SYNTAX GO AROUND OBJECT (FIND RLANDBIT) = V-WALK-AROUND>
<SYNTAX GO BEHIND OBJECT = V-WALK-AROUND>
<SYNTAX GO UNDER OBJECT = V-ENTER>
<SYNTAX GO UP OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX GO DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX GO TO OBJECT = V-WALK-TO>
;<VERB-SYNONYM GOTO OBJECT = V-GOTO>
<SYNTAX HANG OBJECT = V-HANG-UP PRE-HANG-UP>
<SYNTAX HANG UP OBJECT = V-HANG-UP PRE-HANG-UP>
<SYNTAX HANG OBJECT ON OBJECT = V-HANG-UP PRE-HANG-UP>
<SYNTAX HANG UP OBJECT ON OBJECT = V-HANG-UP PRE-HANG-UP>
<SYNTAX HANG OBJECT FROM OBJECT = V-HANG-UP PRE-HANG-UP>
<SYNTAX HANG UP OBJECT FROM OBJECT = V-HANG-UP PRE-HANG-UP>
<SYNTAX HEAR OBJECT = V-LISTEN>
<SYNTAX HELLO = V-HELLO>
<SYNTAX HELLO OBJECT = V-HELLO>
<VERB-SYNONYM HELLO HI GREETINGS GREET SALUTE AFTERNOON BYE GOODBYE FAREWELL>
<SYNTAX HELP = V-HELP>
<SYNTAX HELP OBJECT = V-RESCUE>
<VERB-SYNONYM HELP AID RESCUE>
<SYNTAX HIDE OBJECT (FIND RLANDBIT) = V-HIDE>
<SYNTAX HIDE UNDER OBJECT = V-HIDE>
<SYNTAX HIDE BEHIND OBJECT = V-HIDE>
<SYNTAX HIDE OBJECT (HELD HAVE) FROM OBJECT = V-HIDE>
<SYNTAX HIDE OBJECT (HELD HAVE) BEHIND OBJECT = V-HIDE>
<SYNTAX HIDE OBJECT (HELD HAVE) UNDER OBJECT = V-HIDE>
<VERB-SYNONYM HIDE CONCEAL ; "SECRETE ENSCONCE CAMOUFLAGE">
<SYNTAX HINT = V-HELP>
<VERB-SYNONYM HINT HINTS>
; <SYNTAX INFLATE OBJECT = V-INFLATE>
<SYNTAX JUMP OBJECT (FIND RLANDBIT) = V-LEAP>
<SYNTAX JUMP ON OBJECT = V-STAND-ON>
<SYNTAX JUMP OVER OBJECT = V-LEAP>
<SYNTAX JUMP IN OBJECT (FIND RLANDBIT) = V-ENTER>
<SYNTAX JUMP OUT OBJECT (FIND RLANDBIT) = V-EXIT>
<SYNTAX JUMP FROM OBJECT = V-LEAP>
<SYNTAX JUMP OFF OBJECT = V-LEAP>
<VERB-SYNONYM JUMP LEAP DIVE ; " BOUND HURDLE VAULT " >
<SYNTAX KICK OBJECT = V-KICK>
<SYNTAX KICK IN OBJECT = V-KICK>
<SYNTAX KICK DOWN OBJECT = V-KICK>
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KILL>
<SYNTAX KILL OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (HELD CARRIED HAVE) = V-KILL>
<VERB-SYNONYM KILL MURDER SLAY HIT SLAP WHACK STRIKE STAB PUNCH WOUND
ATTACK ASSAULT FIGHT HURT INJURE ;"DISPATCH VANQUISH">
<SYNTAX KISS OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KISS>
<VERB-SYNONYM KISS SMOOCH>
<SYNTAX KNOCK AT OBJECT = V-KNOCK>
<SYNTAX KNOCK ON OBJECT = V-KNOCK>
<SYNTAX KNOCK DOWN OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KILL>
<VERB-SYNONYM KNOCK RAP POUND>
; <SYNTAX LAUNCH OBJECT (FIND VEHBIT) = V-LAUNCH>
<SYNTAX LEAVE OBJECT (FIND RLANDBIT) = V-LEAVE>
<SYNTAX LEAVE OBJECT (HELD CARRIED HAVE MANY) IN OBJECT
(ON-GROUND IN-ROOM CARRIED ; MANY) = V-PUT PRE-PUT>
<SYNTAX LEAVE OBJECT (HELD CARRIED HAVE MANY) ON OBJECT
(ON-GROUND IN-ROOM CARRIED ; MANY) = V-PUT-ON PRE-PUT>
; <SYNTAX LEAVE OBJECT = V-DROP>
<SYNTAX LET GO OBJECT (HELD MANY) = V-LET-GO>
<SYNTAX LIE DOWN OBJECT (FIND RLANDBIT) = V-LIE-DOWN>
<SYNTAX LIE ON OBJECT ; (FIND VEHBIT) = V-LIE-DOWN>
<SYNTAX LIE IN OBJECT ; (FIND VEHBIT) = V-LIE-DOWN>
<VERB-SYNONYM LIE RECLINE ; REPOSE>
<SYNTAX LIGHT OBJECT (HELD CARRIED TAKE) (FIND LIGHTBIT) = V-LAMP-ON>
<SYNTAX LIGHT OBJECT (HELD CARRIED ON-GROUND IN-ROOM) WITH OBJECT
(HELD CARRIED) = V-BURN>
<VERB-SYNONYM LIGHT IGNITE> ;"ignite was formerly a synonym for BURN"
<SYNTAX LISTEN OBJECT (FIND RLANDBIT) = V-LISTEN>
<SYNTAX LISTEN TO OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
= V-LISTEN>
<SYNTAX LISTEN IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
= V-LISTEN>
<SYNTAX LISTEN FOR OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
= V-LISTEN>
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) = V-LOCK>
<SYNTAX LOCK OBJECT (ON-GROUND IN-ROOM) WITH OBJECT (HELD HAVE) = V-LOCK>
<SYNTAX LOOK = V-LOOK>
<SYNTAX LOOK AROUND OBJECT (FIND RLANDBIT) = V-LOOK>
<SYNTAX LOOK DOWN OBJECT (FIND RLANDBIT) = V-LOOK-DOWN>
<SYNTAX LOOK UP OBJECT (FIND RLANDBIT) = V-LOOK-UP>
<SYNTAX LOOK OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-CHASTISE>
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM) ; (FIND DARKBIT)
= V-EXAMINE PRE-EXAMINE>
<SYNTAX LOOK THROUGH OBJECT (HELD CARRIED ON-GROUND IN-ROOM)
= V-LOOK-INSIDE>
<SYNTAX LOOK UNDER OBJECT = V-LOOK-UNDER>
<SYNTAX LOOK BEHIND OBJECT = V-LOOK-BEHIND>
<SYNTAX LOOK IN OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-LOOK-INSIDE>
<SYNTAX LOOK ON OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-LOOK-ON>
<SYNTAX LOOK AT OBJECT (HELD CARRIED ON-GROUND IN-ROOM) THROUGH OBJECT
= V-LOOK-THRU>
<SYNTAX LOOK OUT OBJECT = V-LOOK-INSIDE>
<SYNTAX LOOK FOR OBJECT = V-FIND>
<VERB-SYNONYM LOOK L STARE GAZE PEER PEEK>
<SYNTAX LOWER OBJECT = V-LOWER>
;<SYNTAX MELT OBJECT WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-MELT>
;<VERB-SYNONYM MELT LIQUIFY DISSOLVE THAW>
<SYNTAX MOVE OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-MOVE>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) OBJECT = V-PUSH-TO>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) TO OBJECT = V-PUSH-TO>
<SYNTAX MOVE OBJECT (ON-GROUND IN-ROOM) DOWN OBJECT = V-PUSH-DOWN>
<SYNTAX MOVE UP OBJECT (ON-GROUND IN-ROOM) = V-ROLL-UP>
<VERB-SYNONYM MOVE SHIFT ROLL ; DISLOCATE>
; <SYNTAX NO = V-NO>
; <VERB-SYNONYM NO NAY NEGATIVE NOPE NAW>
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-OPEN>
<SYNTAX OPEN UP OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-OPEN>
<SYNTAX OPEN OBJECT (FIND DOORBIT) (HELD CARRIED ON-GROUND IN-ROOM)
WITH OBJECT ; (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
= V-OPEN>
<VERB-SYNONYM OPEN UNSEAL PRY>
; <SYNTAX PAY OBJECT (FIND ACTORBIT) WITH OBJECT (HELD CARRIED) = V-PAY>
; <VERB-SYNONYM PAY BRIBE ENTICE ; RENUMERATE>
<SYNTAX PICK OBJECT = V-PICK>
<SYNTAX PICK OBJECT WITH OBJECT = V-PICK>
<SYNTAX PICK UP OBJECT (FIND TAKEBIT) (ON-GROUND MANY) = V-TAKE PRE-TAKE>
<SYNTAX PLAY = V-PLAY>
<SYNTAX PLAY OBJECT = V-PLAY>
<SYNTAX PLAY ON OBJECT = V-PLAY>
<SYNTAX PLAY OBJECT ON OBJECT = V-PLAY>
; <SYNTAX PLUG OBJECT WITH OBJECT = V-PLUG>
; <VERB-SYNONYM PLUG GLUE ;PATCH REPAIR FIX CLOG>
;<SYNTAX POINT AT OBJECT = V-POINT>
;<SYNTAX POINT OBJECT AT OBJECT = V-POINT>
;<SYNTAX POINT TO OBJECT = V-POINT>
;<VERB-SYNONYM POINT AIM>
<SYNTAX POKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM)
WITH OBJECT (HELD CARRIED HAVE) = V-MUNG>
<VERB-SYNONYM POKE JAB BLIND>
;<SYNTAX POUR OBJECT (HELD CARRIED) = V-POUR>
;<SYNTAX POUR OUT OBJECT (HELD CARRIED) = V-POUR>
<SYNTAX POUR OBJECT (HELD CARRIED) ON OBJECT = V-POUR>
<SYNTAX POUR OBJECT (HELD CARRIED) FROM OBJECT = V-POUR>
<SYNTAX POUR OBJECT (HELD CARRIED) IN OBJECT = V-POUR>
<SYNTAX POUR OUT OBJECT (HELD CARRIED) IN OBJECT = V-POUR>
<VERB-SYNONYM POUR DRIP SPILL SPRINKLE>
<SYNTAX PRAY = V-HELP>
<SYNTAX PULL OBJECT (ON-GROUND IN-ROOM) = V-PULL>
<SYNTAX PULL ON OBJECT (ON-GROUND IN-ROOM) = V-PULL>
<SYNTAX PULL UP OBJECT (ON-GROUND IN-ROOM) = V-RAISE>
<SYNTAX PULL DOWN OBJECT = V-LOWER>
<SYNTAX PULL OBJECT DOWN OBJECT (FIND RLANDBIT) = V-LOWER>
<SYNTAX PULL OBJECT (FIND TAKEBIT) OUT OBJECT (ON-GROUND IN-ROOM)
= V-TAKE PRE-TAKE>
<VERB-SYNONYM PULL TUG DRAG SHOVE YANK>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) = V-PUSH>
<SYNTAX PUSH ON OBJECT (IN-ROOM ON-GROUND) = V-PUSH>
<SYNTAX PUSH OBJECT (ON-GROUND IN-ROOM)
UP OBJECT (IN-ROOM ON-GROUND) = V-PUSH-TO>
<SYNTAX PUSH UP OBJECT (IN-ROOM ON-GROUND) = V-PUSH-UP>
<SYNTAX PUSH OBJECT (ON-GROUND IN-ROOM)
DOWN OBJECT (IN-ROOM ON-GROUND) = V-PUSH-DOWN>
<SYNTAX PUSH DOWN OBJECT (IN-ROOM ON-GROUND) = V-PUSH-DOWN>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
;<SYNTAX PUSH OBJECT (IN-ROOM ON-GROUND) IN OBJECT = V-PUSH-TO>
<SYNTAX PUSH OBJECT UNDER OBJECT = V-PUT-UNDER>
;<SYNTAX PUSH OVER OBJECT (IN-ROOM ON-GROUND) = V-TIP>
<VERB-SYNONYM PUSH PRESS THRUST NUDGE RING>
<SYNTAX PUT OBJECT (HELD CARRIED HAVE MANY) IN OBJECT
(ON-GROUND IN-ROOM HELD CARRIED ; MANY) = V-PUT PRE-PUT>
<SYNTAX PUT OBJECT (HELD CARRIED HAVE MANY) DOWN OBJECT
(ON-GROUND IN-ROOM HELD CARRIED ; MANY) = V-PUT PRE-PUT>
<SYNTAX PUT OBJECT (HELD CARRIED HAVE MANY) ON OBJECT
(ON-GROUND IN-ROOM HELD CARRIED ; MANY) = V-PUT-ON PRE-PUT>
<SYNTAX PUT OBJECT (HELD CARRIED HAVE MANY) OVER OBJECT
(ON-GROUND IN-ROOM HELD CARRIED ; MANY) = V-PUT-ON PRE-PUT>
<SYNTAX PUT DOWN OBJECT (HELD CARRIED HAVE MANY) = V-DROP>
<SYNTAX PUT OBJECT (HELD MANY HAVE CARRIED) UNDER OBJECT
(ON-GROUND IN-ROOM HELD CARRIED ; MANY) = V-PUT-UNDER>
<SYNTAX PUT ON OBJECT (ON-GROUND IN-ROOM HELD CARRIED ; MANY) = V-WEAR>
<SYNTAX PUT OBJECT (HELD CARRIED MANY HAVE) BEHIND OBJECT
(ON-GROUND IN-ROOM HELD CARRIED ; MANY) = V-PUT-BEHIND>
<SYNTAX PUT OUT OBJECT (ON-GROUND IN-ROOM CARRIED HELD) = V-LAMP-OFF>
<VERB-SYNONYM PUT STUFF DIP LOAD INSERT THREAD PLACE LAY WEDGE FORCE STASH>
<SYNTAX RAISE OBJECT = V-RAISE>
<SYNTAX RAISE UP OBJECT = V-RAISE>
<VERB-SYNONYM RAISE LIFT ELEVATE HOIST>
<SYNTAX RAPE OBJECT (FIND ACTORBIT) = V-RAPE>
<VERB-SYNONYM RAPE MOLEST DEFILE>
<SYNTAX REACH IN OBJECT (ON-GROUND IN-ROOM) = V-REACH-IN>
<SYNTAX REACH THROUGH OBJECT (ON-GROUND IN-ROOM) = V-REACH-IN>
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-READ>
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
THROUGH OBJECT = V-LOOK-THRU>
<SYNTAX READ OBJECT (FIND READBIT) (HELD CARRIED ON-GROUND IN-ROOM)
TO OBJECT = V-READ-TO>
<VERB-SYNONYM READ SKIM>
<SYNTAX RELEASE OBJECT (MANY HELD) = V-LET-GO>
<SYNTAX REMOVE OBJECT (FIND WORNBIT) = V-REMOVE>
<SYNTAX REMOVE OBJECT FROM OBJECT = V-REMOVE-FROM>
<VERB-SYNONYM REMOVE DOFF SHED>
<SYNTAX REPLACE OBJECT = V-REPLACE>
<SYNTAX RESET OBJECT = V-RESET>
<SYNTAX RIDE OBJECT = V-RIDE>
<SYNTAX RIDE IN OBJECT = V-RIDE>
<SYNTAX RIDE ON OBJECT = V-RIDE>
<SYNTAX SAY OBJECT (FIND RLANDBIT) = V-SAY>
; <SYNTAX SAY TO OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
<VERB-SYNONYM SAY TALK SPEAK UTTER ; "PROCLAIM MAYBE">
<SYNTAX SCRAPE OFF OBJECT = V-SCRAPE-OFF>
<SYNTAX SCRAPE OBJECT OFF OBJECT = V-SCRAPE-OFF>
<SYNTAX SEARCH OBJECT = V-SEARCH>
<SYNTAX SEARCH IN OBJECT = V-SEARCH>
<SYNTAX SEARCH FOR OBJECT = V-FIND>
<SYNTAX SEARCH UNDER OBJECT = V-LOOK-UNDER>
<VERB-SYNONYM SEARCH RUMMAGE FRISK RANSACK>
; <SYNTAX SEND FOR OBJECT = V-SEND>
<SYNTAX SHAKE OBJECT = V-SHAKE>
<VERB-SYNONYM SHAKE JOSTLE RATTLE>
;<SYNTAX SHARPEN OBJECT WITH OBJECT ; (FIND TOOLBIT) (HAVE) = V-SHARPEN>
;<VERB-SYNONYM SHARPEN HONE>
<SYNTAX SHOOT OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-SHOOT>
<SYNTAX SHOOT OBJECT (HELD CARRIED ON-GROUND IN-ROOM) AT OBJECT = V-SHOOT>
<SYNTAX SHOOT OBJECT WITH OBJECT (HELD CARRIED ON-GROUND IN-ROOM) = V-SSHOOT>
<VERB-SYNONYM SHOOT FIRE ; DISCHARGE>
<SYNTAX SHOW OBJECT TO OBJECT (FIND ACTORBIT) = V-SHOW>
<SYNTAX SHOW OBJECT (FIND ACTORBIT) OBJECT = V-SSHOW>
<SYNTAX SIT OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-SIT>
<SYNTAX SIT ON OBJECT (ON-GROUND IN-ROOM) = V-SIT>
<SYNTAX SIT DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-SIT>
<SYNTAX SIT IN OBJECT ; (FIND VEHBIT)
(ON-GROUND IN-ROOM) = V-ENTER>
<SYNTAX SIT AT OBJECT = V-SIT>
<VERB-SYNONYM SIT SQUAT>
<SYNTAX SKI = V-WALK-AROUND PRE-SKI>
<SYNTAX SKI OBJECT = V-SKI PRE-SKI>
<SYNTAX SKI DOWN OBJECT = V-SKI PRE-SKI>
; <SYNTAX SKIP = V-SKIP>
; <VERB-SYNONYM SKIP HOP CAVORT GAMBOL>
<SYNTAX SLEEP = V-SLEEP>
<SYNTAX SLEEP IN OBJECT (IN-ROOM ON-GROUND) = V-LIE-DOWN ; V-BOARD>
<SYNTAX SLEEP ON OBJECT (IN-ROOM ON-GROUND) = V-LIE-DOWN ; V-BOARD>
<VERB-SYNONYM SLEEP NAP SNOOZE REST>
; <SYNTAX SLIDE OBJECT = V-PUSH>
; <SYNTAX SLIDE OBJECT UNDER OBJECT = V-PUT-UNDER>
; <SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) OBJECT = V-PUSH-TO>
; <SYNTAX SLIDE OBJECT (IN-ROOM ON-GROUND) TO OBJECT = V-PUSH-TO>
<SYNTAX SMELL OBJECT (FIND RLANDBIT) = V-SMELL>
<VERB-SYNONYM SMELL SNIFF ; WHIFF>
<SYNTAX SPLICE OBJECT = V-SPLICE>
<SYNTAX SPLICE OBJECT WITH OBJECT = V-SPLICE>
<SYNTAX SQUEEZE OBJECT = V-SQUEEZE>
<SYNTAX SQUEEZE OBJECT (HELD) ON OBJECT = V-PUT PRE-PUT>
<VERB-SYNONYM SQUEEZE SQUASH CRUSH>
<SYNTAX STAND = V-STAND>
<SYNTAX STAND UP OBJECT (FIND RLANDBIT) = V-STAND>
<SYNTAX STAND ON OBJECT = V-STAND-ON>
<SYNTAX STAND UNDER OBJECT = V-STAND-UNDER>
<VERB-SYNONYM STAND RISE>
<SYNTAX STOP OBJECT = V-LAMP-OFF>
;<SYNTAX STRIKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) WITH OBJECT
(HELD CARRIED HAVE) = V-KILL>
;<SYNTAX STRIKE OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-KILL>
<SYNTAX SWIM = V-SWIM>
<SYNTAX SWIM OBJECT = V-SWIM>
<SYNTAX SWIM IN OBJECT = V-SWIM>
<SYNTAX SWIM TO OBJECT = V-SWIM>
<SYNTAX SWIM DOWN OBJECT (FIND RLANDBIT) = V-SWIM-DOWN>
<SYNTAX SWIM UP OBJECT (FIND RLANDBIT) = V-SWIM-UP>
<VERB-SYNONYM SWIM BATHE>
<SYNTAX SWING OBJECT ;(HELD CARRIED HAVE) = V-SWING>
<SYNTAX SWING OBJECT (HELD CARRIED HAVE)
AT OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) = V-SWING>
<SYNTAX SWING ON OBJECT = V-CLIMB-ON>
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (ON-GROUND IN-ROOM MANY)
= V-TAKE PRE-TAKE>
<SYNTAX TAKE IN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-ENTER>
<SYNTAX TAKE OUT OBJECT = V-DISEMBARK>
<SYNTAX TAKE ON OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-ON>
<SYNTAX TAKE UP OBJECT (FIND RLANDBIT) = V-RAISE>
;<SYNTAX TAKE OBJECT (FIND TAKEBIT) (;CARRIED IN-ROOM MANY)
WITH OBJECT (HELD) = V-TAKE-WITH PRE-TAKE>
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
OUT OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
OFF OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
FROM OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
IN OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
ON OBJECT = V-TAKE PRE-TAKE>
<SYNTAX TAKE OFF OBJECT = V-TAKE-OFF>
<VERB-SYNONYM TAKE GRAB CATCH GET HOLD CARRY SEIZE STEAL CONFISCATE SNATCH>
<SYNTAX TASTE OBJECT = V-TASTE>
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) = V-TELL>
<SYNTAX TELL OBJECT (FIND ACTORBIT) (IN-ROOM) ABOUT OBJECT = V-TELL>
;<SYNTAX THANK OBJECT = V-THANK> ;"SEM?"
;<SYNTAX THANK = V-THANK>
;<VERB-SYNONYM THANK THANKS ; MERCI>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE) = V-THROW PRE-PUT>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE)
AT OBJECT (ON-GROUND IN-ROOM) = V-THROW PRE-PUT>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE)
TO OBJECT (ON-GROUND IN-ROOM) = V-THROW PRE-PUT>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE) OFF OBJECT = V-THROW-OFF>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE) OVER OBJECT = V-THROW-OFF>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE)
THROUGH OBJECT (ON-GROUND IN-ROOM) = V-PUT PRE-PUT>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE) DOWN OBJECT
(ON-GROUND IN-ROOM) = V-PUSH-DOWN>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE) IN OBJECT
(ON-GROUND IN-ROOM) = V-PUT PRE-PUT>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE) ON OBJECT
(ON-GROUND IN-ROOM) = V-PUT PRE-PUT>
<SYNTAX THROW OBJECT (HELD MANY CARRIED HAVE) OUT OBJECT
(ON-GROUND IN-ROOM) = V-PUT PRE-PUT>
<VERB-SYNONYM THROW HURL CHUCK TOSS FLING PITCH>
<SYNTAX TIE OBJECT (HELD CARRIED HAVE) TO OBJECT = V-TIE>
<SYNTAX TIE UP OBJECT (FIND ACTORBIT) (ON-GROUND IN-ROOM) WITH OBJECT
; (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE) = V-TIE-UP>
<VERB-SYNONYM TIE FASTEN SECURE HOOK ATTACH>
;<SYNTAX TIP OVER OBJECT (ON-GROUND IN-ROOM) = V-TIP>
;<SYNTAX TIP OBJECT (ON-GROUND IN-ROOM) = V-TIP>
<SYNTAX TOUCH OBJECT ; (FIND DARKBIT) = V-RUB>
<SYNTAX TOUCH OBJECT WITH OBJECT = V-RUB>
<VERB-SYNONYM TOUCH FEEL PAT PET RUB DISTURB>
; <SYNTAX TUCK IN OBJECT WITH OBJECT (HELD HAVE) = V-COVER>
; <SYNTAX TUCK OBJECT (HELD HAVE) AROUND OBJECT = V-PUT PRE-PUT>
<SYNTAX TURN OBJECT = V-TURN>
<SYNTAX TURN OBJECT (ON-GROUND IN-ROOM) TO OBJECT = V-TURN>
<SYNTAX TURN OBJECT (ON-GROUND IN-ROOM) OBJECT = V-TURN>
<SYNTAX TURN OBJECT (ON-GROUND IN-ROOM) LEFT OBJECT (FIND RLANDBIT) = V-TURN-LEFT>
<SYNTAX TURN OBJECT (ON-GROUND IN-ROOM) RIGHT OBJECT (FIND RLANDBIT) = V-TURN-RIGHT>
;<SYNTAX TURN OBJECT FOR OBJECT = V-TURN>
<SYNTAX TURN OBJECT WITH OBJECT ; (FIND TOOLBIT) (HAVE) = V-TURN>
<SYNTAX TURN ON OBJECT (FIND LIGHTBIT) (HELD CARRIED ON-GROUND IN-ROOM)
= V-LAMP-ON>
<SYNTAX TURN OFF OBJECT ;(FIND ONBIT)
(HELD CARRIED ON-GROUND IN-ROOM) = V-LAMP-OFF>
<VERB-SYNONYM TURN TWIST FACE ROTATE FLIP SET SPIN WHIRL ;GYRATE>
<SYNTAX UNLOCK ;(FIND LOCKEDBIT) OBJECT (ON-GROUND IN-ROOM) = V-UNLOCK>
<SYNTAX UNLOCK OBJECT (ON-GROUND IN-ROOM)
WITH OBJECT (FIND TOOLBIT HELD HAVE) = V-UNLOCK>
<SYNTAX UNROLL OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNROLL>
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) = V-UNTIE>
;<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM)
WITH OBJECT (FIND TOOLBIT) (HAVE) = V-UNLOCK>
<SYNTAX UNTIE OBJECT (ON-GROUND IN-ROOM HELD CARRIED) FROM OBJECT = V-UNTIE>
<VERB-SYNONYM UNTIE FREE UNFASTEN UNATTACH UNHOOK UNDO DETACH>
<SYNTAX USE OBJECT = V-USE>
<VERB-SYNONYM USE EMPLOY EXPLOIT>
<SYNTAX WAIT = V-WAIT>
<SYNTAX $WAIT OBJECT = V-$WAIT>
<SYNTAX WAIT FOR OBJECT = V-WAIT-FOR>
<VERB-SYNONYM WAIT LOITER Z>
<SYNTAX WAKE OBJECT (FIND RLANDBIT) = V-ALARM>
<SYNTAX WAKE UP OBJECT (FIND RLANDBIT) = V-ALARM>
<VERB-SYNONYM WAKE AWAKE AWAKEN SURPRISE STARTLE ROUSE>
<SYNTAX WALK = V-WALK-AROUND>
<SYNTAX WALK OBJECT = V-WALK>
<SYNTAX WALK IN OBJECT (FIND RLANDBIT) = V-ENTER>
<SYNTAX WALK OUT OBJECT (FIND RLANDBIT) = V-EXIT>
<SYNTAX WALK ON OBJECT = V-STAND-ON>
<SYNTAX WALK OVER OBJECT = V-CROSS>
<SYNTAX WALK THROUGH OBJECT = V-ENTER>
<SYNTAX WALK AROUND OBJECT (FIND RLANDBIT) = V-WALK-AROUND>
<SYNTAX WALK BEHIND OBJECT = V-WALK-AROUND>
<SYNTAX WALK UNDER OBJECT = V-ENTER>
<SYNTAX WALK UP OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-UP>
<SYNTAX WALK DOWN OBJECT (FIND RLANDBIT) (ON-GROUND IN-ROOM) = V-CLIMB-DOWN>
<SYNTAX WALK TO OBJECT = V-WALK-TO>
<SYNTAX WALK OFF OBJECT = V-DISEMBARK>
<VERB-SYNONYM WALK RUN PROCEED STEP ADVANC TRUDGE HIKE TRAMP CRAWL SKIP HOP>
<SYNTAX WATER OBJECT = V-WATER PRE-WATER>
<SYNTAX WATER OBJECT WITH OBJECT (HAVE) = V-WATER PRE-WATER>
; <SYNTAX WAVE OBJECT (FIND ACTORBIT) = V-WAVE>
<SYNTAX WAVE AT OBJECT ; (FIND ACTORBIT) = V-WAVE-AT>
<SYNTAX WAVE TO OBJECT ; (FIND ACTORBIT) = V-WAVE-AT>
; <SYNTAX WAVE OBJECT (HELD CARRIED) AT OBJECT = V-WAVE-AT>
<VERB-SYNONYM WAVE NOD SMILE LAUGH GRIN SNEER ; "MOTION BRANDISH BECKON" >
<SYNTAX WEAR OBJECT = V-WEAR>
<VERB-SYNONYM WEAR DON>
;<SYNTAX WHAT OBJECT = V-WHAT>
;<SYNTAX WHAT ABOUT OBJECT = V-WHAT-ABOUT>
;<VERB-SYNONYM WHAT WHATS WHAT\'S>
; <SYNTAX WHERE OBJECT = V-WHERE>
; <VERB-SYNONYM WHERE WHERES>
; <SYNTAX WHO OBJECT = V-WHO>
; <VERB-SYNONYM WHO WHOS>
; <SYNTAX WHY = V-WHY>
; <SYNTAX WHY OBJECT = V-WHY>
<SYNTAX YELL OBJECT (FIND RLANDBIT) = V-YELL>
<SYNTAX YELL AT OBJECT = V-YELL>
<SYNTAX YELL TO OBJECT = V-YELL>
<VERB-SYNONYM YELL SCREAM SHOUT HOWL>
<SYNTAX YES = V-HELLO>
<SYNTAX YES OBJECT (FIND ACTORBIT) = V-HELLO>
<VERB-SYNONYM YES Y AYE OK OKAY SURE YUP AFFIRM POSITI NO NAY NEGATIVE NOPE NAW>

2790
verbs.zap Normal file

File diff suppressed because it is too large Load Diff

3056
verbs.zil Normal file

File diff suppressed because it is too large Load Diff