commit c6e21a6a2e625ca2f2e98610886fa7ed8338cf1f Author: historicalsource Date: Sat Apr 13 22:29:36 2019 -0400 Final Revision diff --git a/README.md b/README.md new file mode 100644 index 0000000..e72b22e --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# bureaucracy diff --git a/airplane.txt b/airplane.txt new file mode 100644 index 0000000..b54241a --- /dev/null +++ b/airplane.txt @@ -0,0 +1,94 @@ +AIRPLANE SEQUENCE + + + +WINNING CASE NO 1 + +SEAT 3B + +You are sitting in an incredibly luxurious Air Zalagasa FubAero 7-11 +seat 30,000 feet over somewhere which you don't know where it is. + +>EXAMINE THE SEAT + +It is an incredibly luxurious FubAero ComfoMat (TM) Air Zalagasa seat, +equipped with a recline button, a headphone socket, a light switch and a +stewardess call button. A pocket in front holds literature. + +>PRESS THE RECLINE {ANY} BUTTON + +You hear a tiny metallic voice whispering nearby. + +>LISTEN TO THE VOICE + +You cannot hear it clearly without the proper equipment. + +>LOOK IN THE POCKET + +The seat pocket contains a set of headphones, a copy of Ai-Ai Life, the +in-flight magazine of Air Zalagasa, and a safety card. + +>GET THE HEADPHONES.PLUG THEM INTO THE SEAT. + +The voice is now a little louder but still unclear. + +>WEAR THE HEADPHONES + +You hear an announcement. "Welcome to seat {WRONG SEATNUM}. Your +luxury Air Zalagasa flight has been equipped for your convenience with +ComfoMat (TM) electrically-controlled seats. For your safety and +comfort, the controls located at your passenger station have been +centrally disabled at this time. We will be making this facility +available to you after take off, or when we have reached our cruising +altitude. Or possibly when we have served dinner. Or when we feel like +it." + +>READ THE MAGAZINE + +No. + +>EXAMINE THE MAGAZINE +A card falls out and flutters underneath your seat, which has been specially +designed so that anything which flutters underneath it cannot be retrieved. + +>EXAMINE THE CARD + +This is a shiny card showing happy Zalagasans in a shiny Air Zalagasa +airplane to which all sorts of terrible things are happening. +The first picture shows a happy smiling stewardess making an announcement +in very very small type. The second picture shows some happy, smiling +Zalagasan passengers removing false teeth, sepctacles, ornamental nose +bones and so forth. The third picture shows +some Zalagasans who are almost certainly happy and smiling but you +can't be sure because they are all bent double clasping their knees. +The fourth picture appears to have been chewed by a llama so you can't +tell what the happy smiling Zalagasans which it undoubtedly showed are +actually doing. + +>READ THE SMALL PRINT + +The small print coming out of the stewardess's mouth says "M'baka +n'ka umtogo bokaki m'Great Big Plane Crash n'gaga five minutes, +okaka m'sidli ik ik togo paku." + +>PRESS THE STEWARDESS BUTTON + +Your seat reclines slightly, remembers that it has been centrally +disabled for your comfort and safety, pauses, and returns to its +full upright position. + +>FEEL UNDER THE SEAT + +You feel the edge of a card. + +>GET THE CARD + + +Taken. + +>EXAMINE IT. + +[SHOW COMPLAINTS FORM] + + + diff --git a/b.chars b/b.chars new file mode 100644 index 0000000..7319c73 --- /dev/null +++ b/b.chars @@ -0,0 +1,21 @@ + : 12430 e: 9458 t: 7625 a: 7571 + i: 6351 o: 6233 s: 5915 n: 5296 + r: 5097 l: 4241 h: 3276 d: 3159 + y: 3007 c: 2789 u: 2330 .: 2326 + g: 2260 p: 2170 m: 1941 w: 1806 + f: 1710 b: 1590 ,: 1479 ": 940 + k: 876 v: 809 T: 635 Y: 477 + I: 476 ': 396 A: 322 -: 257 + x: 212 S: 182 H: 176 013: 158 + ?: 158 !: 153 W: 145 O: 139 + j: 130 P: 124 B: 109 C: 99 + D: 95 R: 95 q: 92 N: 90 + Z: 89 (: 88 E: 88 ): 86 + F: 86 M: 85 0: 76 G: 74 + z: 72 L: 59 U: 59 [: 58 + ]: 50 ;: 41 1: 40 2: 35 + :: 33 J: 27 V: 25 4: 22 + $: 21 5: 21 K: 18 7: 17 + /: 13 8: 11 >: 11 3: 7 + Q: 7 6: 6 9: 4 #: 3 + &: 2 X: 1 ^: 1 \ No newline at end of file diff --git a/b.chart b/b.chart new file mode 100644 index 0000000..41ea8fa --- /dev/null +++ b/b.chart @@ -0,0 +1,83 @@ +-date- -rel- -size- -pre- -obj- -glo- -voc- + 2/24 87 243156 41563 255 240 1416 + 3/04 88 243176 37663 255 240 1416 + 3/04 88 243176 37663 255 240 1416 + 3/09 88 243164 37663 255 240 1416 + 3/09 88 243164 37663 255 240 1416 + 3/09 88 243356 37687 255 240 1417 + 3/09 89 243356 37687 255 240 1417 + 3/09 90 243380 37687 255 240 1417 + 3/09 91 243356 37687 255 240 1417 + 3/10 92 243376 37687 255 240 1417 + 3/10 93 243384 37687 255 240 1417 + 3/10 94 243384 37687 255 240 1417 + 3/17 95 243384 37687 255 240 1417 + 3/20 96 243384 37687 255 240 1417 + 3/23 97 243384 37687 255 240 1417 + 3/24 98 243388 37687 255 240 1417 + 3/24 99 243384 37687 255 240 1417 + 3/24 100 243384 37687 255 240 1417 + 4/02 101 243384 37685 255 240 1417 + 4/03 102 243392 37685 255 240 1417 + 4/15 103 243392 37685 255 240 1417 + 4/16 104 243392 37685 255 240 1417 + 4/27 105 243268 37663 255 240 1416 + 4/27 105 243320 37663 255 240 1416 + 4/30 105 243324 37663 255 240 1416 + 5/04 106 243732 37651 255 240 1416 + 5/04 107 243732 37651 255 240 1416 + 5/06 108 243728 37651 255 240 1416 + 5/06 109 243316 37669 255 240 1416 + 5/07 110 243304 37667 255 240 1416 + 5/18 111 243332 37663 255 240 1416 + 5/19 111 243332 37663 255 240 1416 + 5/19 112 243332 37663 255 240 1416 + 5/28 113 243324 37659 255 240 1416 + 5/28 114 243300 37653 255 240 1416 + 5/28 115 243308 37678 255 240 1416 + 5/29 116 243340 37678 255 240 1416 + 6/03 117 243308 37678 255 240 1416 + 6/05 118 218504 37678 255 240 1416 + 6/05 119 243308 37678 255 240 1416 + 6/05 120 243308 37678 255 240 1416 + 6/05 121 243308 37678 255 240 1416 + 6/06 122 243284 37678 255 240 1416 + 6/08 123 243248 37678 255 240 1416 + 6/09 124 243244 37674 255 240 1416 + 6/09 125 243184 37086 255 240 1416 + 6/10 126 243184 37086 255 240 1416 + 6/10 126 243184 37086 255 240 1416 + 6/10 127 243184 37086 255 240 1416 + 6/17 128 243180 37086 255 240 1416 + 6/18 129 243180 37086 255 240 1416 + 6/18 130 243180 37086 255 240 1416 + 6/22 131 243180 37086 255 240 1416 + 6/22 132 243224 37086 255 240 1416 + 6/23 133 243180 37084 255 240 1416 + 6/30 134 243212 37058 255 240 1416 + 6/30 135 243180 37032 255 240 1416 + 6/30 136 243208 37058 255 240 1416 + 7/01 137 243216 37058 255 240 1416 + 7/01 138 243172 37058 255 240 1416 + 7/02 139 243200 37058 255 240 1416 + 7/06 140 243184 37058 255 240 1416 + 7/07 141 243160 37058 255 240 1416 + 7/21 142 241068 36657 255 240 1379 + 7/21 143 243160 37058 255 240 1416 + 7/22 144 243160 37058 255 240 1416 + 7/22 145 243160 37058 255 240 1416 + 7/22 146 243160 37058 255 240 1416 + 7/28 147 243160 37058 255 240 1416 + 8/20 148 243160 37058 255 240 1416 + 9/16 149 243412 37458 255 240 1416 + 9/16 150 243216 37110 255 240 1416 + 9/18 151 243424 37110 255 240 1416 + 9/19 152 243368 37108 255 240 1416 +10/08 153 243224 37110 255 240 1416 +10/08 154 243368 37110 255 240 1416 +10/09 155 243368 37110 255 240 1416 +12/21 156 243368 37110 255 240 1416 +12/21 157 243412 37110 255 240 1416 +12/22 158 243416 37110 255 240 1416 +12/24 159 243416 37110 255 240 1416 + 5/21 160 243524 37130 255 240 1416 diff --git a/b.chart-thru-release b/b.chart-thru-release new file mode 100644 index 0000000..31e9015 --- /dev/null +++ b/b.chart-thru-release @@ -0,0 +1,138 @@ +-date- -rel- -size- -pre- -obj- -glo- -voc- + 1/05 248 218118 38974 272 240 1413 + 1/06 249 218330 38984 272 240 1413 + 1/06 250 218306 38984 272 240 1413 + 1/06 251 218306 38984 272 240 1413 + 1/06 252 218474 38984 272 240 1413 + 1/06 253 218594 39004 272 240 1414 + 1/07 254 218574 39004 272 240 1414 + 1/07 255 218686 39004 272 240 1414 + 1/07 256 218854 39006 272 240 1413 + 1/07 1 218806 38962 270 240 1413 + 1/07 2 218762 38950 270 240 1413 + 1/07 3 218810 38950 270 240 1413 + 1/07 4 218894 38948 270 239 1413 + 1/07 5 218642 38948 270 240 1413 + 1/08 6 218638 38944 270 240 1413 + 1/08 7 218746 38950 270 240 1413 + 1/08 8 218658 38950 270 240 1413 + 1/08 9 218658 38950 270 240 1413 + 1/08 10 218626 38948 270 239 1413 + 1/08 11 218578 38948 270 239 1413 + 1/08 12 218578 38948 270 239 1413 + 1/09 13 218618 38960 270 239 1414 + 1/09 14 218622 38960 270 239 1414 + 1/09 15 218522 38960 270 240 1414 + 1/11 16 218522 38960 270 240 1414 + 1/12 17 218510 38963 270 240 1414 + 1/12 18 218390 38963 270 240 1414 + 1/12 19 218574 38961 270 240 1414 + 1/13 20 218638 38963 270 240 1414 + 1/13 21 218874 38965 270 240 1414 + 1/13 22 219418 39030 270 240 1418 + 1/14 23 219474 39030 270 240 1418 + 1/14 24 219954 39038 270 240 1418 + 1/14 25 219918 39055 270 240 1419 + 1/15 26 219958 39053 270 240 1419 + 1/15 27 219966 39055 270 240 1419 + 1/15 28 219966 39055 270 240 1419 + 1/15 29 219958 39055 270 240 1419 + 1/16 30 220266 39052 270 240 1418 + 1/16 31 220266 39052 270 240 1418 + 1/20 32 220434 39054 270 240 1418 + 1/21 33 221442 38757 266 219 1428 + 1/22 34 221126 38775 266 240 1428 + 1/22 35 221150 38781 266 240 1428 + 1/22 36 221154 38781 266 240 1428 + 1/22 37 221690 38991 266 240 1432 + 1/22 38 222798 38991 266 240 1432 + 1/22 39 222806 38991 266 240 1432 + 1/22 40 223386 38991 266 240 1432 + 1/22 41 223434 38991 266 240 1432 + 1/22 42 223414 38993 266 240 1432 + 1/23 43 223414 38993 266 240 1432 + 1/23 44 223422 38993 266 240 1432 + 1/23 45 223806 38993 266 240 1432 + 1/23 46 226088 38948 266 240 1426 + 1/23 47 222476 38421 259 237 1416 + 1/23 48 223024 38433 259 240 1416 + 1/24 49 223816 38494 259 239 1422 + 1/24 50 223476 38494 259 240 1422 + 1/24 51 223628 38493 259 240 1422 + 1/25 52 228136 38476 258 240 1423 + 1/25 53 228596 38465 258 240 1423 + 1/25 54 228212 38461 258 240 1423 + 1/25 55 227240 38065 250 240 1414 + 1/25 56 227200 38057 250 237 1414 + 1/25 57 226372 37706 250 240 1399 + 1/25 58 226340 37706 250 240 1399 + 1/25 59 226332 37706 250 240 1399 + 1/26 60 225692 37234 250 240 1399 + 1/27 19 230836 37189 250 240 1398 + 1/27 20 231556 37261 250 239 1403 + 1/27 21 231532 37267 250 240 1404 + 1/27 22 231532 37267 250 240 1404 + 1/27 23 231532 37267 250 240 1404 + 1/28 24 231736 37276 250 240 1405 + 1/29 25 232664 37328 250 240 1409 + 1/29 26 232632 37319 250 240 1408 + 1/29 27 232736 37319 250 240 1408 + 1/29 28 233044 37351 250 240 1409 + 1/30 29 233044 37351 250 240 1409 + 1/30 30 233044 37351 250 240 1409 + 1/30 31 233056 37351 250 240 1409 + 1/30 32 233476 37351 250 240 1409 + 1/30 33 233468 37351 250 240 1409 + 1/30 34 233472 37351 250 240 1409 + 1/31 35 233448 37354 250 240 1409 + 1/31 36 233480 37362 250 240 1409 + 1/31 37 233780 37371 250 240 1410 + 1/31 38 233996 37371 250 240 1410 + 1/31 39 234068 37364 250 240 1409 + 1/31 40 234304 37366 250 240 1409 + 2/01 41 234516 37368 250 240 1409 + 2/02 42 234880 37368 250 240 1409 + 2/02 43 234880 37368 250 240 1409 + 2/02 44 234868 37382 250 240 1409 + 2/02 45 235396 37397 250 240 1411 + 2/02 46 235392 37397 250 240 1411 + 2/03 47 235468 37397 250 240 1411 + 2/03 48 235488 37397 250 240 1411 + 2/03 49 236480 37397 250 240 1411 + 2/03 50 236472 37397 250 240 1411 + 2/04 51 237004 37471 252 240 1413 + 2/04 52 237032 37471 252 240 1413 + 2/04 53 237576 37462 252 240 1412 + 2/05 54 237904 37486 252 240 1412 + 2/05 55 238856 37426 252 240 1407 + 2/05 56 239180 37454 253 240 1407 + 2/06 57 239344 37492 254 240 1407 + 2/06 58 239332 37492 254 240 1407 + 2/06 59 239668 37507 254 240 1407 + 2/06 60 239672 37507 254 240 1407 + 2/06 61 239828 37507 254 240 1407 + 2/06 62 239844 37507 254 240 1407 + 2/07 63 239848 37507 254 240 1407 + 2/07 64 240000 37507 254 240 1407 + 2/07 65 240104 37507 254 240 1407 + 2/08 66 240144 37507 254 240 1407 + 2/09 67 241236 37584 255 240 1411 + 2/09 68 241848 37624 255 240 1413 + 2/09 69 241956 37624 255 240 1413 + 2/10 70 241984 37624 255 240 1413 + 2/10 71 241980 37624 255 240 1413 + 2/10 72 242268 37624 255 240 1413 + 2/10 73 242644 37626 255 240 1413 + 2/10 74 242856 37626 255 240 1413 + 2/10 75 242960 37626 255 240 1413 + 2/11 76 242796 37602 255 240 1412 + 2/11 77 242796 37602 255 240 1412 + 2/11 78 242780 37602 255 240 1412 + 2/11 79 242836 37602 255 240 1412 + 2/11 80 243156 37649 255 240 1416 + 2/11 81 243156 37649 255 240 1416 + 2/11 82 243088 37659 255 240 1416 + 2/12 83 243100 37659 255 240 1416 + 2/12 84 243128 37661 255 240 1416 + 2/12 85 243132 37661 255 240 1416 + 2/12 86 243144 37661 255 240 1416 diff --git a/b.errors b/b.errors new file mode 100644 index 0000000..e53f76d --- /dev/null +++ b/b.errors @@ -0,0 +1,37 @@ +Assembling B.ZAP.61 on Saturday, May 21, 1988 16:43:58 +Release: 160 + + 64 Inserting BFREQ.ZAP.60 (640 bytes) + 704 Inserting BDAT.ZAP.57 (36426 bytes) + 37130 Inserting MISC.ZAP.43 (3743 bytes) + 40873 Inserting CLOCKER.ZAP.35 (438 bytes) + 41311 Inserting PARSER.ZAP.36 (12998 bytes) + 54309 Inserting BPUR.ZAP.57 (4384 bytes) + 58693 Inserting OTHER-MISC.ZAP.35 (3382 bytes) + 62075 Inserting VERBS.ZAP.36 (17870 bytes) + 79945 Inserting EVENTS.ZAP.36 (6767 bytes) + 86712 Inserting PEOPLE.ZAP.36 (11090 bytes) + 97802 Inserting PLACES.ZAP.35 (6292 bytes) +104094 Inserting THINGS.ZAP.35 (26700 bytes) +130794 Inserting FORMS.ZAP.35 (2517 bytes) +133311 Inserting COMPUTER.ZAP.37 (4888 bytes) +138199 Inserting NNAIRPORT.ZAP.36 (16794 bytes) +154993 Inserting PARANOID.ZAP.33 (10735 bytes) +165728 Inserting ZALAGASA.ZAP.33 (4293 bytes) +170021 Inserting MAZE.ZAP.34 (7780 bytes) +177801 Inserting MUMBLE.ZAP.33 (930 bytes) +178731 Inserting BANK.ZAP.34 (9432 bytes) +188163 Inserting XXJET.ZAP.32 (30155 bytes) +218318 Inserting BSTR.ZAP.53 (25206 bytes) + +*000000000000* global undefined: 17586, 16713, 15842, 15826, 15814, 15802, 15772, 15756, 15744, 15728, 15718, 15708, 15698, 15688, 15672, 15660, 15650, 15640, 15626, 15614, 14248, 14236, 14226, 14210, 13998, 13646 +#BYTE global undefined: 17585, 16712, 15841, 15825, 15813, 15801, 15771, 15755, 15743, 15727, 15717, 15707, 15697, 15687, 15671, 15659, 15649, 15639, 15625, 15613, 14247, 14235, 14225, 14209, 13997, 13645 + +255 objects. +240 globals. +1416 word vocabulary. + +243524 bytes (238K). + 37130 bytes of preload. + 17667 bytes of impure. +Outputting symbol tables diff --git a/b.serial b/b.serial new file mode 100644 index 0000000..f6b91e0 --- /dev/null +++ b/b.serial @@ -0,0 +1 @@ +56 diff --git a/b.zil b/b.zil new file mode 100644 index 0000000..a5127af --- /dev/null +++ b/b.zil @@ -0,0 +1,67 @@ +"B for BUREAUCRACY: (C)1987 Infocom, Inc. All Rights Reserved." + + + + + + + + + + +ON!-INITIAL "For DEBUGR." +OFF!-INITIAL +ENABLE!-INITIAL +DISABLE!-INITIAL + + + + + >> + + + > + ;)> + +> + >> + +; +> + +; "Definitions only..." + + + + + + + + + + + + + + + + + + + + + + + + + + "TAA.EXE"> + + + + + +; + diff --git a/b.zip b/b.zip new file mode 100644 index 0000000..dd47809 Binary files /dev/null and b/b.zip differ diff --git a/bank.zil b/bank.zil new file mode 100644 index 0000000..15728b2 --- /dev/null +++ b/bank.zil @@ -0,0 +1,1485 @@ +"BANK for BUREAUCRACY: Copyright 1987 Infocom, Inc. All rights reserved." + + + + + + + + + + + + >> + + + "She takes the cheque and says, \"Please show me some ID.\"">> + +> + +> + + + <>>> + + + + + +> + > + > <>) + ( + > + >> + ,WFORM) + ( + >> + ,DFORM) + ( > + > ,DFORM) + (> ,WFORM) + (ELSE <>)>) + (ELSE <>)>> + +) AMT) + + > + + T) + ( + + T) + ( + + > + ) + (ELSE + >)> + + > + ) + ( + + ;"Clear error" + + ) + (ELSE + )> + + T) + ( + + + >) + (T + )> + T) + (ELSE <>)>)>> + +)) + > + +)) + > + +)) + > + + + ) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + >> + .FIELD>) + (T T)>> + +) + (TCF )) + > + > + >> + ; "Set error bit" + .FIELD>> + T) + (T + ; "Clear error bit" + + >> + T)>> + +) "AUX" X) + + > + T>> + + + <>) + (<==? .X -1> + + <>) + (<==? .X 0> + + <>) + (<==? ,PRSO ,WFORM> + + T) + (ELSE + + T)>) + (<==? .CONTEXT ,FORM-ADD-CHAR> + T) + (<==? .CHAR %> T) + (<==? .CHAR %> + + <>) + (T + + <>)>) + (T T)>> + +) "AUX" X) + + % %> + + + ) + (ELSE + )>) + (T + + + ) + (ELSE + )>)> + 3) + (<==? .CONTEXT ,FORM-ADD-CHAR> + %> + %>> + T) + (T + + <>)>) + (<==? .CONTEXT ,FORM-FIELD-RESET> + ) + (T T)>> + +) "AUX" X) + + 1> + T) + (ELSE <>)>) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + T) + (<==? .CONTEXT ,FORM-ADD-CHAR> + ) + (T T)>> + +) H + T1 T2 T3 T4 (CLOSED <>)) + + + .TB>)> + + + + + > + > + ) + (ELSE + 20>> + )> + > + + > + + + ) + (ELSE + >)>)> + > + + + ) + (ELSE + >)>) + (ELSE )>> + > + + + ) + (ELSE + >)>) + (ELSE )>> + + + + ) + ( + > + )> + + + + + + <>) + (ELSE + + + + ,BANK)>> + +> + > + + + )> + )>)> + + + )>)>> + +) I + (VAL <>)) + > + > 0> + > + >> + + ) + ( > + + + ) + ( + >>) + (ELSE + 20>>)>) + ( >)> + + .VAL> + +>> + +)> + + 0> + ; "This will be capitalized by SAY-HERE..." + ) + (ELSE + >)>> + +) + "AUX" (TN ) + (BA )) + + >> + > + T) + (ELSE <>)>) + (<==? .CONTEXT ,M-EXIT> + + <>) + (<==? .CONTEXT ,M-LOOK> + + ) + (ELSE + )>) + (<==? .CONTEXT ,M-ENTERED> + + + + T) + ( <>) + ( + > + ) + ( + + ) + ( > + ) + (<==? .BA 0> + ) + (ELSE )> + T) + ( + + T)>> + +> + > + > + )> + > + )> + T> + +;"HANDLE-BANK-DROP is called from verbs to prevent dropping in the bank." + + + ) + (ELSE + + > + + + + > + ) + (T + )> + ) + (> + > + + > + ,FATAL-VALUE) + (ELSE + + + T)>)>> + + + + + + + )> + + )> + > + + + + + + + + <>) + (<==? ,NEW-TELLER -1> + + ,ACT?ENTER> + T) + (<==? + ,NEW-TELLER> + + T) + (T + + + > + T)>) + (T <>)>> + + 0> + + > + + ,BANK) + (ELSE + + <>)>> + +) + "AUX" (TN )) + + <==? .TN ,NUMBER-TELLERS>>> + + <>) + (ELSE + > + + >>) + (T + )> + + ,BANK)>> + +)) + + + <>) + (ELSE + >> + + > + ,BANK)>> + +)) + + + > + ,BANK) + (ELSE + ,ST-A)>> + +) + A B C D) + > + > + > + > + T) + (T + + > + >> + ) + (<==? .TN > + >> + ) + (<==? .TN > + >> + ) + (<==? .TN > + >> + ) + (ELSE + )>)>> + + <- 0 .X>) (ELSE .X)>> + + + + + + ) + (T + + T)>> + +;> + T> + + + CR> + + + > + + > + + + + + ) + (ELSE + )> + ) + (ELSE + )>) + (ELSE + + ",\" she says." CR>)>) + (ELSE + + )) + > + + ) + (<==? .N ,NUMBER-TELLERS> + ) + (T + >)>)> + >)>> + + + +)) + + > + > + > + >> + + + T) + ( + + ,PRSO) + (T ,PRSI)>> + T) + (T + <>)>) + ( + .TELLER>) + ( + ) + ( + ) + ( + + ) + ( + ) + ( + ) + (T + )>) + ( + + ) + ( + ) + (T + )>) + ( + ) + ( + + > + + + ) + (T + )> + ,FATAL-VALUE) + ( + <>) + ( + + + T) + ( + + T) + (T + <>)>) + ( + <>) + ( + + T) + ( + + T) + ( + + T) + (T + <>)>) + ( <>) + (ELSE + + ,FATAL-VALUE)>> + +> + +>> + +) + (FLG <>)) + + ) + (<==? .SCR ,CASH-CHECK-SCRIPT> + ) + (> )>) + (<==? .SCR ,DEPOSIT-SCRIPT> + > + <==? 0> + > + <==? 0>> + ) + (> + > + )>) + (ELSE + >)>) + (<==? .SCR ,WITHDRAWAL-SCRIPT> + > + <==? 0>> + ) + (> + > + )>) + (ELSE + >)>) + (<==? .SCR ,CASH-CHECK-SCRIPT> + > + > + )>)>) + (T )> + )> + T> + + + ) + ( + ) + (T + + + ) + (T + )> + )> + T> + + + ) + ( + ) + (T + + + ) + ( + ) + (T + + )> + )> + T> + +) + "AUX" (SCR ) + (MBAL <>) (BAL <>) (ADF <>) + (NONSENSE <>)) + + + + + ) + ( + > + ) + (ELSE + )>) + ( ) + ( + )> + >)> + + ) + ( + ) + ( + ) + (<==? .SCR ,DEPOSIT-SCRIPT> + > + <==? 0>> + > + ) + (<==? .OBJ ,DFORM> + > + + ) + ( + + 0>> + ) + (ELSE + )>) + ( + + 0>> + ) + (ELSE + )>) + ( + + > + + 0>>> + ) + (ELSE + )>) + (ELSE + )>) + ( <==? .OBJ ,WFORM>> + ) + (ELSE + )>) + (<==? .SCR ,WITHDRAWAL-SCRIPT> + + > + <==? 0>> + > + ) + ( > + > + + ) + (ELSE + )>) + (ELSE + )>) + (<==? .OBJ ,MONEY> + ) + ( > + ) + (ELSE + )>) + (<==? .SCR ,CASH-CHECK-SCRIPT> + + ) + ( + ) + ( + ) + (ELSE + )>) + ( + >> + >>> + ) + ( + ) + (<==? .OBJ ,QUEEN-MUM> + ) + (ELSE + )> + T> + + + > + CR> + + + T) + (ELSE + <>)>> + +> <>) + ( + + )> + + )> + + + + T) + (ELSE + <>)>> + + + 0> + ) + (ELSE + + CR> + )> + T) + (<==? .OBJ ,DFORM> + + T) + (<==? .OBJ ,CHECK> + + T) + (ELSE <>)>> + +> + +) (DO-SCORE? <>)) + > <>) + (<==? .OBJ ,CHECK> ) + ( + + )> + > + + > + > + > + ) + ( > + + + + + + + >) + (ELSE + + )> + )>) + (ELSE + > + + + ) + (ELSE + + + )>)> + + + + > + + + )> + ) + (T + )> + + )> + T) + (ELSE <>)>> + +> + +)) + > + + <==? 0>> + + <==? 0>>> + + T) + ( > + + + T) + ( + > + + ,P-NUMBER>> + ) + ( + + ) + (ELSE + )> + + + + 0>>> + CR> + ) + (ELSE + + + ) + (ELSE + )>)> + T) + (ELSE <>)>> + +> 0>> + ,DFORM) + (> + 0>> + ,WFORM)>> + +)) + > + 0> + + >> + + + )> + + > + ) + (ELSE + > + )> + > + > + > + + 0> + > + + > + )> + + ,CASH>>) + (T + + )> + ) + ( > + + > + + ) + ( >> + + > + )> + + ,CASH>>) + ( + <==? .W ,CHECK-AMOUNT>> + <==? ,CASH .W>> + <==? .W >> + + + + + )> + + ) + (> + + ) + (ELSE >)> + + ) + (ELSE + + )> + ) + (ELSE + + ,CASH>>)>) + (ELSE + + )> + + + T) + (ELSE <>)>) + (ELSE <>)>> + + + + + ) + (T <>)>> + +> + + >) + (T + + )> + > + + + <==? .NAM ,W?INTNUM>> + + + >> + <>) + (T + + ,TELLER-WINDOWS)>) + ( + ,W?TELLER> + + ,TELLER-WINDOWS) + (<==? .ADJ ,W?NEXT> + > + 0> + <==? .NUM ,NUMBER-TELLERS>> + <>) + (T + > + ,TELLER-WINDOWS)>) + (T <>)>) + (T <>)>> + + + +> +> + + + + + + > + + WHO) + > + .IB>)> + + + )> + > + + 0>> + > 3> + + ) + (T + + + ) + (T + + + ) + (T + )> + )> + + + )> + + + )> + + + + + )> + + + + + + ) + ( + + )> + + + + + ) + ( + + + + )> + > + + + ) + ( + ) + (T + + + )> + )> + + + + + > + > + + + + + + T) + ( + > + ) + (T + + + + + + ) + (T + )>)> + + + + )> + + )>> + +> + +> + + )>> + + +> + + +) (ADDR <>) (PROBLEM <>) LEN:FIX WRD + (BONGO? <>) (MONEY? <>) (FORM <>) (FIRST 2) + (BAL <>) (PERSON <>) (HOLD <>)) + > + 0>> + + )> + + > 0> + )> + > + + ) + ( + ) + ( + > + ) + ( + ) + ( + ) + ( + > + ) + (<==? .WRD ,W?BALANCE> + ) + ( + + >> + )> + > + >> + + + + + + + + + >> + + + + + + ) + ( + ) + ( + + + ) + ( + )> + ) + ( + + + + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + + + + + ) + (T + .BW>)> + + > + + + + 0>> + + ) + (T + )>> + + + + + + + > + > + + + + + + + + > + + > + ) + (T + >)> + + + ) + (T + )>) + ( + + ) + (T + + )> + + + + > + +> + +) "AUX" (BSNAME <>) STR) + + + + > + > + ) + (T + )> + T) + (T + + ,FATAL-VALUE)>) + (<==? 0> + ) + ( + + + ,FATAL-VALUE) + ( <>) + ( + > + ) + (T <>)>) + ( + > + ) + ( + 0>> + + ) + (<==? .BSNAME ,W?BONGO> + ) + (T + + + ) + (T + + + )>)> + ,FATAL-VALUE) + ( + + + + + + + ) + (T + )> + T) + ( + > + + T) + (T + <>)>> + + + + + + + > + + + + + + > diff --git a/bankdefs.zil b/bankdefs.zil new file mode 100644 index 0000000..e3946e7 --- /dev/null +++ b/bankdefs.zil @@ -0,0 +1,68 @@ + + + + + + + + + + + + + + + + + >> + + + +) + (TELLER-CURRENT-FORM 0) + (TELLER-DRUGS BYTE 0) + (TELLER-IDLE BYTE 0)> + + ; "Sign on this window" + ; "The first question asked" + ; "The next thing asked for by teller" + ; "Object given by teller (if any)" + ; "Next request" + + + + + + + + + + diff --git a/bfreq.zap b/bfreq.zap new file mode 100644 index 0000000..659c39e --- /dev/null +++ b/bfreq.zap @@ -0,0 +1,200 @@ + .FSTR FSTR?1,"the " ;2438 1220 + .FSTR FSTR?2,", " ;1615 1616 + .FSTR FSTR?3,"you " ;1482 742 + .FSTR FSTR?4,"your " ;1146 383 + .FSTR FSTR?5,"You " ;1092 365 + .FSTR FSTR?6,". " ;1080 1081 + .FSTR FSTR?7,"and " ;1080 541 + .FSTR FSTR?8,"to " ;938 939 + .FSTR FSTR?9,"The " ;822 275 + .FSTR FSTR?10,"that " ;795 266 + .FSTR FSTR?11,"with " ;684 229 + .FSTR FSTR?12,"have " ;630 211 + .FSTR FSTR?13,"of " ;609 610 + .FSTR FSTR?14,"It's " ;500 101 + .FSTR FSTR?15,"You're " ;497 72 + .FSTR FSTR?16,"There's " ;480 61 + .FSTR FSTR?17,"is " ;465 466 + .FSTR FSTR?18,"from " ;390 131 + .FSTR FSTR?19,"in " ;389 390 + .FSTR FSTR?20,"for " ;380 191 + .FSTR FSTR?21,"doesn't " ;378 55 + .FSTR FSTR?22,"already " ;372 63 + .FSTR FSTR?23,"about " ;336 85 + .FSTR FSTR?24,"are " ;328 165 + .FSTR FSTR?25,"don't " ;320 65 + .FSTR FSTR?26,"which " ;308 78 + .FSTR FSTR?27,"like " ;306 103 + .FSTR FSTR?28,"something " ;304 39 + .FSTR FSTR?29,"you're " ;294 50 + .FSTR FSTR?30,"There " ;290 59 + .FSTR FSTR?31,"can't " ;275 56 + .FSTR FSTR?32,"anything " ;273 40 + .FSTR FSTR?33,"would " ;272 69 + .FSTR FSTR?34,"this " ;267 90 + .FSTR FSTR?35,"not " ;262 132 + .FSTR FSTR?36,"into " ;258 87 + .FSTR FSTR?37,"Zalagasa " ;256 33 + .FSTR FSTR?38,"Zalagasan " ;243 28 + .FSTR FSTR?39,"This " ;236 60 + .FSTR FSTR?40,"flight " ;235 48 + .FSTR FSTR?41,"just " ;234 79 + .FSTR FSTR?42,"out " ;232 117 + .FSTR FSTR?43,"really " ;225 46 + .FSTR FSTR?44,"little " ;220 45 + .FSTR FSTR?45,"at " ;219 220 + .FSTR FSTR?46,"back " ;219 74 + .FSTR FSTR?47,"but " ;212 107 + .FSTR FSTR?48,"it " ;207 208 + .FSTR FSTR?49,"through " ;204 35 + .FSTR FSTR?50,"on " ;203 204 + .FSTR FSTR?51,"what " ;201 68 + .FSTR FSTR?52,"Zalagasans " ;200 21 + .FSTR FSTR?53,"hear " ;186 63 + .FSTR FSTR?54,"seems " ;180 46 + .FSTR FSTR?55,"looking " ;180 31 + .FSTR FSTR?56,"it's " ;176 45 + .FSTR FSTR?57,"I'm " ;176 45 + .FSTR FSTR?58,"computer " ;175 26 + .FSTR FSTR?59,"be " ;170 171 + .FSTR FSTR?60,"some " ;168 57 + .FSTR FSTR?61,"has " ;164 83 + .FSTR FSTR?62,"that" ;162 82 + .FSTR FSTR?63,"probably " ;161 24 + .FSTR FSTR?64,"says" ;160 81 + .FSTR FSTR?65,"looks " ;160 41 + .FSTR FSTR?66,"one " ;158 80 + .FSTR FSTR?67,"his " ;158 80 + .FSTR FSTR?68,"Your " ;156 40 + .FSTR FSTR?69,"nothing " ;156 27 + .FSTR FSTR?70,"aren't " ;156 27 + .FSTR FSTR?71,"I " ;152 153 + .FSTR FSTR?72,"can " ;152 77 + .FSTR FSTR?73,"you" ;151 152 + .FSTR FSTR?74,"here" ;150 76 + .FSTR FSTR?75,"isn't " ;145 30 + .FSTR FSTR?76,"all " ;144 73 + .FSTR FSTR?77,"you'll " ;144 25 + .FSTR FSTR?78,"Please " ;144 25 + .FSTR FSTR?79,"Boysenberry " ;143 14 + .FSTR FSTR?80,"an " ;142 143 + .FSTR FSTR?81,"want " ;141 48 + .FSTR FSTR?82,"they " ;141 48 + .FSTR FSTR?83,"What " ;140 36 + .FSTR FSTR?84,"better " ;140 29 + .FSTR FSTR?85,"there's " ;140 21 + .FSTR FSTR?86,"standing " ;133 20 + .FSTR FSTR?87,"take " ;132 45 + .FSTR FSTR?88,"know " ;132 45 + .FSTR FSTR?89,"Unfortunately" ;132 12 + .FSTR FSTR?90,"It " ;130 66 + .FSTR FSTR?91,"He " ;130 66 + .FSTR FSTR?92,"should " ;130 27 + .FSTR FSTR?93,"attendant " ;128 17 + .FSTR FSTR?94,"You'd " ;126 22 + .FSTR FSTR?95,"You'll " ;126 19 + .FSTR FSTR?96,"very " ;123 42 + + +;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 diff --git a/bglobals.dat b/bglobals.dat new file mode 100644 index 0000000..b765c3b --- /dev/null +++ b/bglobals.dat @@ -0,0 +1,436 @@ +(PRSA ; 909 +PRSO ; 826 +HERE ; 423 +PRSI ; 297 +NOW-PRSI? ; 177 +WINNER ; 158 +PERIOD ; 294 +P-NUMBER ; 68 +P-IT-OBJECT ; 64 +CURRENT-ROW ; 58 +P-LEN ; 49 +CURRENT-SEAT ; 45 +P-LEXV ; 90 +P-PRSA-WORD ; 39 +P-ITBL ; 76 +CANT ; 68 +P-HIM-OBJECT ; 33 +P-NAM ; 32 +PCR ; 63 +P-ADJ ; 31 +P-WALK-DIR ; 27 +AIRPORT-ROOM-NUM-GVAL ; 26 +CASH ; 26 +P-NCN ; 26 +CABSTATE-GVAL ; 24 +P-CONT ; 24 +P-OFLAG ; 24 +P-HER-OBJECT ; 23 +TELLER-NUMBER-GVAL ; 23 +P-MULT? ; 22 +MEAL-STATE ; 20 +NEW-SEAT-GVAL ; 19 +P-OTBL ; 38 +P-PRSO ; 37 +NEW-ROW-GVAL ; 18 +END-GAME? ; 17 +P-SLOCBITS ; 17 +P-THEM-OBJECT ; 17 +SEX ; 17 +PHONE-NUMBERS ; 33 +FLINE ; 16 +OLD-HERE ; 16 +TELECOM?-GVAL ; 16 +DUCT-NUMBER-GVAL ; 15 +MEAL ; 30 +P-DIRECTION ; 15 +P-GETFLAGS ; 15 +CABTURNS-GVAL ; 14 +CLOCK-HAND ; 14 +CURRENT-DESK-ID-GVAL ; 14 +QUOTE-FLAG ; 14 +TELLER-AMOUNT-ON-WITHDRAWAL-FORM-GVAL ; 14 +TELLER-CASH-GIVEN-GVAL ; 14 +HOURS ; 13 +HUNGER ; 13 +LICENSE-FORM ; 13 +P-EXCHANGE ; 13 +P-INBUF ; 26 +P-MERGED ; 13 +QCONTEXT ; 13 +CURRENT-MESSAGE ; 12 +CURRENT-NEIGHBOR-GVAL ; 12 +FX ; 12 +MEAL-ROW-GVAL ; 12 +MEAL-SEAT-GVAL ; 12 +MMOVES ; 12 +P-ACLAUSE ; 12 +PHONES-PLUGGED-IN?-GVAL ; 12 +VERBOSITY ; 12 +BRACKET ; 22 +CURRENT-MAZE-ROOM ; 11 +DIE-ON-NEXT-COMMAND-GVAL ; 11 +MARGIN ; 11 +OBJECTS-GROUPED ; 11 +P-SYNTAX ; 11 +DONT ; 21 +P-VTBL ; 21 +BP ; 10 +CURRENT-TARGET-NAME-GVAL ; 10 +HANDLE-TURNS ; 10 +MUSIC-DEAD?-GVAL ; 10 +QCONTEXT-ROOM ; 10 +TELLER-AMOUNT-ON-DEPOSIT-FORM-GVAL ; 10 +WIDTH ; 10 +YOURE-ALREADY-STR ; 20 +P-PRSI ; 19 +YOU-SEE ; 19 +BANKTALK-GVAL ; 9 +C-INTS ; 9 +COMP-WORD-FATAL? ; 9 +DO-SCORE? ; 9 +FLIGHT-GONE?-GVAL ; 9 +HATCH-OPEN?-GVAL ; 9 +HOLDING-FOR-PONGO? ; 9 +P-DOLLAR-FLAG ; 9 +P-MERGE ; 9 +P-PHR ; 9 +P-SEAT-NUMBER ; 9 +P-XNAM ; 9 +SMOKER-IRATE?-GVAL ; 9 +TELLER-STATE-GVAL ; 9 +THIS-IS ; 17 +CLERK-LISTENING?-GVAL ; 8 +CLERK-SCRIPT ; 8 +DESK-LOSER?-GVAL ; 8 +FERROR-COUNT ; 8 +FILES-ON-SCREEN?-GVAL ; 8 +FLIGHT-RECALLED?-GVAL ; 8 +FORM-COMPUTER? ; 8 +FY ; 8 +MAZE-STEPS-TAKEN ; 8 +MEAL-HERE?-GVAL ; 8 +MINUTES ; 8 +NEW-TELLER ; 8 +P-WON ; 8 +RUN-PLANE-COUNT-GVAL ; 8 +SPEAKER-DEAD?-GVAL ; 8 +TELLER-IDLE-GVAL ; 8 +AIR-ZALAGASA-ENTRANCE-GVAL ; 7 +AISLE-STATE-GVAL ; 7 +AT-ZALAGASA?-GVAL ; 7 +ATTENDANT-WORKING?-GVAL ; 7 +CABTIMES-GVAL ; 7 +CLOCK-WAIT? ; 7 +COMPUTER-DEAD?-GVAL ; 7 +DSCRIPT ; 7 +HEIGHT ; 7 +MEAL-SQUASHED?-GVAL ; 7 +ODD-GATE-SOLVED? ; 7 +OOPS-TABLE ; 14 +P-ADJW ; 14 +RESERVE-PTR ; 7 +TELLER-CURRENT-SCRIPT-GVAL ; 7 +TERMINATE-CURRENT-GVAL ; 7 +TICKET-SCREW?-GVAL ; 7 +TUNE-TIMER-GVAL ; 7 +AIRLINE-BITS ; 13 +AIRPHONE-RINGING?-GVAL ; 6 +CAB-DONT-GVAL ; 6 +CABNAME-GVAL ; 6 +CLERK-WORKING?-GVAL ; 6 +COMPLEX-POS ; 6 +DESK-ZSCRIPT-GVAL ; 6 +DING-ROW-GVAL ; 6 +EXITED-ALREADY?-GVAL ; 6 +HOLD-TURNS ; 6 +JUST-HEARD?-GVAL ; 6 +LINES-TO-NEXT-TARGET-GVAL ; 6 +LS-MOVE-COUNT ; 6 +MOUSY-SCRIPT ; 6 +NERD-OBJECT-DATA ; 6 +P-ALT-CONT ; 6 +P-ANAM ; 6 +P-GWIMBIT ; 6 +P-NAMW ; 12 +P-TABLE ; 6 +PHONE-MSGS ; 6 +PLANE-SUMMONED? ; 6 +REAL-TARGET-NAME-GVAL ; 6 +TELLER-BANK-HOURS-GVAL ; 6 +TELLER-DRUGS-GVAL ; 6 +AGAIN-LEXV ; 11 +AOS-BP?-GVAL ; 5 +CHANGE-DESK?-GVAL ; 5 +COMPLEX-LOOKED? ; 5 +CURRENT-NEIGHBOR-SEATNUM-GVAL ; 5 +CURRENT-OZ-VICTIM ; 5 +DO-WINDOW ; 5 +FALL-SCRIPT-GVAL ; 5 +HATCH-LOSER?-GVAL ; 5 +LAST-LINE-USED-GVAL ; 5 +MEAL-EATEN?-GVAL ; 5 +OLD-LEN ; 5 +OMNIA-GALLIA-ENTRANCE-GVAL ; 5 +P-LASTADJ ; 5 +P-XADJ ; 5 +REMAINING-TARGET-TURNS-GVAL ; 5 +SL-TABLE ; 10 +SPLATTED-ROW-GVAL ; 5 +SPY-TIMER-GVAL ; 5 +TELLER-ADDR-CHANGE-GVAL ; 5 +TELLER-CHECK-CASH-GVAL ; 5 +TELLER-DEPOSIT-GVAL ; 5 +TELLER-WITHDRAW-GVAL ; 5 +USERPW-GVAL ; 5 +YAWNS ; 10 +MACAW-TABLE ; 9 +P-OVTBL ; 9 +ATTENDANT-MENTIONED-REGULATIONS?-GVAL ; 4 +BABY-DISTURBED?-GVAL ; 4 +BP-DELAY ; 4 +CABADDR-GVAL ; 4 +COM-TIMER-GVAL ; 4 +COMMANDS-SINCE-START-GVAL ; 4 +DESK-SCRIPT-GVAL ; 4 +LAST-ROW-GVAL ; 4 +LAST-SEAT-GVAL ; 4 +LAST-USED ; 8 +MIND-READ?-GVAL ; 4 +MOVES ; 4 +NERD-SCRIPT ; 4 +NEXT-TO-BABY?-GVAL ; 4 +P-END-ON-PREP ; 4 +P-OFW ; 8 +P-SPECIAL-ORPHAN ; 4 +PERFORMING? ; 4 +SCORE ; 4 +SPLATTED-PERSON-GVAL ; 4 +TELLER-AMOUNT-IN-ACCT-GVAL ; 4 +TELLER-PLAYER-WARNED?-GVAL ; 4 +TUNE-MENTIONED?-GVAL ; 4 +VOICES-ONLINE?-GVAL ; 4 +WILL-WIN?-GVAL ; 4 +YES-LEXV ; 8 +AGAIN-DIR ; 3 +AIRPORT-SEEN-BITS-GVAL ; 3 +ATTENDANT-AT-ROW-GVAL ; 3 +BANK-FORM-DEPOSIT ; 3 +BUTTONS-OFF?-GVAL ; 3 +CABPREVNAME-GVAL ; 3 +CHUTE-SCORED? ; 3 +CRASH-COMING?-GVAL ; 3 +DOORBELL-RINGS ; 3 +FERROR-ACTIVE?-GVAL ; 3 +GOTO-LOC ; 3 +HANDLE-STATE ; 6 +HOLDING-FOR-ADDRESS? ; 3 +IN-SEAT?-GVAL ; 3 +LAST-BP-CHANGE ; 3 +MAIL-COUNT ; 3 +NO-HUNGER-INT ; 3 +OLD-BP ; 3 +OOPS-INBUF ; 6 +P-AND ; 3 +P-MOBY-FOUND ; 3 +REAL-COMMAND-WINDOW ; 6 +SPLAT-COUNT-GVAL ; 3 +TIMES-THROUGH-LOOP-GVAL ; 3 +TUNE-SELECTOR-GVAL ; 3 +)( +JUST-PAGED?-GVAL ; 3 +LAST-MAZE-ROOM ; 3 +MAZE-LOSING? ; 3 +NERD-HACKED-ABOOK? ; 3 +PLANE-ARRIVE-COUNT ; 3 +RETURN-TO-SEAT-ROUTINE-GVAL ; 3 +SOMETHING-SAID-GVAL ; 3 +STNUM-VALUE-GVAL ; 3 +TURNED-DOWN-CLERK? ; 3 +WAITING-FOR-CASH?-GVAL ; 3 +BOSS-CHECK-WORDS ; 5 +CASH-CHECK-SCRIPT ; 5 +LLAMA-TABLE ; 5 +P-BUTS ; 5 +P-OCL1 ; 5 +P-OCL2 ; 5 +PERSON-ROWS ; 5 +RESERVE-INBUF ; 5 +ANS-TABLE ; 4 +C-TABLE ; 4 +CAPS ; 4 +DAY-TABLE ; 4 +DEPOSIT-SCRIPT ; 4 +FILE-TABLE ; 4 +HUNGER-MSGS ; 4 +SEAT-LETTERS ; 4 +TARGETS ; 4 +WITHDRAWAL-SCRIPT ; 4 +BANK-FORM-WITHDRAW ; 2 +BANK-SCORED? ; 2 +CABNUM-GVAL ; 2 +COMP-X-GVAL ; 2 +COMP-Y-GVAL ; 2 +COMPLEX-DROP? ; 2 +CRAZY-COUNT-GVAL ; 2 +CURRENT-DIR ; 2 +DOWN-FROM-STRIP-COUNT ; 2 +FLIGHT-ATTENDANT-HE/SHE-GVAL ; 2 +FLIGHT-ATTENDANT-HIM/HER-GVAL ; 2 +FORM-X ; 2 +FORM-Y ; 2 +GOT-RECIPE?-GVAL ; 2 +LOOKED-AT-FOOD?-GVAL ; 2 +LOSER-CANT-LEAVE-SEAT?-GVAL ; 2 +NERD-FLEW-BY?-GVAL ; 2 +P-DIR-WORD ; 2 +P-FOUND-REMOTELY ; 2 +PILLAR-MENTIONED?-GVAL ; 2 +REFRESH-COUNT ; 2 +SOMEBODYS-WATCHING? ; 2 +TELLER-CURRENT-FORM-GVAL ; 2 +TOWER-SCRIPT-GVAL ; 2 +AIRLINE-LOOKUP ; 3 +AIRLINE-NAMES ; 3 +HAK-PROG-NAME ; 3 +PROG-TABLE ; 3 +QLEFTS ; 3 +QTOPS ; 3 +RESERVE-LEXV ; 3 +TELLER-SUBJECTS ; 3 +UNFO-TBL ; 3 +AGENT-SUBJECTS ; 2 +ALL-SEATS ; 2 +EXE-FILES ; 2 +INCI-TBL ; 2 +PSTRING ; 2 +SEAT-LETTER-NAMES ; 2 +SKYCAP-DOINGS ; 2 +YES-INBUF ; 2 +ALL-HANDLES ; 1 +ALT-COMPLEX-WINDOW-DESC ; 1 +BAD-TUNES ; 1 +BAKED-POTATO-OPTIONS ; 1 +BANKNAMES ; 1 +BATHROOM-LOCKED ; 1 +BURGER-OPTIONS ; 1 +BUZZTABLE ; 1 +CAB-EXCUSES ; 1 +CAB-NOTICE-TXT ; 1 +CHANGE-ADDRESS-SCRIPT ; 1 +CLERK-SUBJECTS ; 1 +COMPLEX-WINDOW-DESC ; 1 +CRAZIES ; 1 +CURRENT-SIGNS ; 1 +DELAYS ; 1 +DVH2-FILE ; 1 +EXTRA-TEXT ; 1 +FORM-HISTORY ; 1 +FUNNY-FIELDS ; 1 +GAME-VERBS ; 1 +HACK-TABLE ; 1 +HELP-TABLE ; 1 +ITARGETS ; 1 +LIKELIES ; 1 +LOGIN-NAME ; 1 +NEIGHBOR-SEATS ; 1 +NERD-ARRIVALS ; 1 +NERD-OBJECTS ; 1 +NORMAL-SEAT ; 1 +NORMAL-SEAT-POCKET ; 1 +NORMAL-SEAT-TABLE ; 1 +OZ-ROYS ; 1 +P-A ; 1 +P-Q ; 1 +PASSWORD ; 1 +PATRONS ; 1 +PNOTICE-TXT ; 1 +PUNCT-TABLE ; 1 +SSTRING ; 1 +TALKVERBS ; 1 +TARGET-NAMES ; 1 +TELECOM-HELP-TABLE ; 1 +TICKET-TYPE-TABLE ; 1 +TOONS ; 1 +UNKNOWN-MSGS ; 1 +WALKING-TABLE ; 1 +A-DIR ; 0 +ADVENTURE-TABLE ; 0 +AIRPLANE-FILE ; 0 +B-DIR ; 0 +BANK-THINGS ; 0 +BEER-TYPE-TABLE ; 0 +BONGO-STUFF ; 0 +BOYSENBERRY-WINDOW ; 0 +BURGER-TYPE-TABLE ; 0 +C-DIR ; 0 +CAFFEINE-TABLE ; 0 +CHEESE-TYPE-TABLE ; 0 +CLEAR-DIR ; 0 +CLERK-DOINGS ; 0 +COOPS ; 0 +COPY-DIR ; 0 +COULDNTS ; 0 +D-DIR ; 0 +DELETE-DIR ; 0 +DIR-DIR ; 0 +DIRLIST-DIR ; 0 +DIRTABLES ; 0 +DRESSING-TYPE-TABLE ; 0 +DRESSING-WEIGHT-TABLE ; 0 +DRINK-TYPE-TABLE ; 0 +ECLIPSE-TABLE ; 0 +FACE-IN-FOOD-STRS ; 0 +FIDUC-FILE ; 0 +FIXTURES ; 0 +FRIES-ETC-TABLE ; 0 +HACK-DIR ; 0 +HAK-FILES ; 0 +HAVEVERBS ; 0 +HELP-DIR ; 0 +HO-HUM ; 0 +HURTVERBS ; 0 +JUICE-TYPE-TABLE ; 0 +LOGOUT-DIR ; 0 +MAILING-LIST ; 0 +MENU-FILE ; 0 +MOUSY-WISHES ; 0 +MOVEVERBS ; 0 +OMNIA-SIGN-TEXT ; 0 +OTHER-AIRPLANE-OBJECTS ; 0 +OTHER-PHONE-MSGS ; 0 +PARSE-RANDOM-LOC-VEC ; 0 +POINTLESS ; 0 +PONGO-STUFF ; 0 +POST-FILE ; 0 +POTATO-TYPE-TABLE ; 0 +PRINTR-TABLE ; 0 +PSEUDO-VEC ; 0 +PUTVERBS ; 0 +PUZZLES ; 0 +QUIT-DIR ; 0 +QUIT-TABLE ; 0 +RANDOM-CARTRIDGE-TABLE ; 0 +RECIPE-TABLE ; 0 +RENAME-DIR ; 0 +RPRINTR-TABLE ; 0 +RUN-DIR ; 0 +SEAT-PSEUDO-VEC ; 0 +SEEVERBS ; 0 +SODA-TABLE ; 0 +SODA-TYPE-TABLE ; 0 +TCLEAR-DIR ; 0 +TELECOM-TABLE ; 0 +TOUCHVERBS ; 0 +TRAVEL-FILE ; 0 +TYPE-DIR ; 0 +WATER-TABLE ; 0 +WHO-DIR ; 0 +WINE-COLOR-TABLE ; 0 +WINE-COUNTRY-TABLE ; 0 +WINE-TYPE-TABLE ; 0 +YUKS ; 0 +ZBUG-FILE ; 0 +CABMUSIC-GVAL ; 0 +RETURN-TO-SEAT-WAIT-GVAL ; 0 +) \ No newline at end of file diff --git a/bureaucracy.txt b/bureaucracy.txt new file mode 100644 index 0000000..1c581a9 --- /dev/null +++ b/bureaucracy.txt @@ -0,0 +1,69 @@ +Ideas for Bureaucracy? +---------------------- +The global concept for this game can be summarized by the line "Just because +you're paranoid doesn't mean that everybody isn't out to get you." + +We've all had the feeling from time to time that somebody (particularly +those small, beady-eyed bureaucrats who work for banks, insurance companies, +etc.) is out to get us. This game provides the answer: In fact, there is +a massive conspiracy to do just that. And things are stranger than that, +because this conspiracy is centered in some sort of fantastical underground +(literally) catacomb, connecting all of these various dens of iniquity. + +The player, when he successfully completes the game, will have the +intense satisfaction of having crushed the nameless and faceless hoard +of bureaucrats, and, with luck, having gotten the bank to acknowledge his +change of address (or whatever the player's initial task is set up to be). + +-- + +This game is intended as a kind of dark comedy. The mood which is to +be created is one of frustration, anger, and eventually paranoia as +everything in the player's life goes from bad to worse, all because +of petty errors at the bank, etc. + +At some point, the player can gain access to the 'infernal regions', +where some bizarre series of accomplishments will have to be made in +order to destroy the enemy's apparatus. + +One possible source of problems is trying to do the things that +the bureaucracy hates most: folding, spindling, and mutiliating punch +cards, filling out forms incorrectly, perhaps stealing rubber stamps +and stamping forms improperly, and otherwise botching up the works. +Perhaps this type of problem in the above-ground area will help create +a diversion allowing access to the underground where more bizarre +things will happen. + +Presumably the game starts with the player needing to get some very +simple task done (e.g. getting the bank to acknowledge a change of +address form). This will turn into more of a problem than it seems +and events will cause such things as his credit cards getting recalled, +his house getting repossessed, etc. leading to absurd heights of +nonsense. Clearly, at some point the player will realize that things +are getting out of hand. + +Confronting the various bureaucrats will be no easy task, since they +probably won't want to talk with you, preferring that you fill out +a request for conversation form. My guess is that no matter what you +try to do, you can't get them to answer questions very reliably (which +fits in well with parser limitations). + +-- + +Places of Interest + +Your Home - probably just a few rooms a la Hitchhiker's + +Outside your Home - front steps, etc. + +Bank - your bank, with a number of rooms, for tellers, safe deposit +boxes, vault, waiting area, etc. + +Post Office - your local post office + +Insurance Company - + +Underground - Lots of stuff here, maybe some sort of semi-militaristic +order of bureaucrats with lots of arcane machinery linked up to a gigantic +computer which controls the hoard. Perhaps they all turn out to be +androids or some such. \ No newline at end of file diff --git a/buttons.txt b/buttons.txt new file mode 100644 index 0000000..ebdc2f5 --- /dev/null +++ b/buttons.txt @@ -0,0 +1,129 @@ +BUTTONS ALGORITHM + +Each seat contains three buttons: +1) Marked "RECLINE" +2) Marked "CALL ATTENDANT" +3) Marked "LIGHT" + +The buttons, when enabled, work as follows: + +RECLINE operates on seat +1 col +2 rows and RINGS BELL there + +LIGHT operates on seat +4 col +3 rows, and TOGGLES RECLINE there + +BELL operates on seat -1 col +1 row and TOGGLES LIGHT there + + +The algorithm is also revealed when the player presses any of the +buttons from any seat when the seat buttons are DISABLED. What happens +then is that the button triggers a recorded announcement audible only +over the headphones; that announcement includes the location of the +seat to which it is wired, NOT to the seat which the player is actually +in. Player has to be IN the seat with the Headphones both plugged in +and being worn before he can hear the message. He also has to be in the +seat, either with or without headphones, before he can press the button. + +BUTTONS PLAY + +The player always starts in 3B. If he presses a button at this point, +he hears the metallic whispering which only lasts for that turn. To +hear it properly he has to wear the headphones and plug them in. He can +press each button and get the same message repeatedly. + +Once he starts wandering around the cabin he could theoretically map it +in 14 turns. After fourteen turns the FASTEN SEAT BELT SIGN comes on +and he has four turns to get back before being forced back by the +stewardess. + +At this point he should have mapped the cabin. His return to 3B starts +the meal service routine. Only when all meals have been served do we +activate the buttons. The FASTEN SEAT BELTS light goes out and he is +free to wander around the cabin or eat his meal or return to ANOTHER +seat. + +POSSIBLE PLAYS + +1) + +LOSER. He eats his meal like a good boy. After a number of turns a +neighbour will complain about his halitosis, the stew will bring him an +electric toothbrush and tell him to clean his teeth. + +1a) DECLINES. He dies of halitosis and so does everyone else. They +continue to nag at him after death (2 turns) and reboot. + +1b) ACCEPTS. He goes to the bathroom to clean his teeth. +1bi) SUCCEEDS. He plugs in the toothbrush which activates the john, +sending it into a frenzy and sucking him below the surface. +***BOG NOTE*** at all other times the door is shut and groaning can be +heard from behind the door. +1bii) FAILS to plug the toothbrush in and dies of halitosis except +nobody else dies since you are sealed off. However when the aeroplane +lands the entire ground crew are killed and your name is reviled +posthumously. + +2) LOSER + +Player does NOT eat his meal but does not solve the buttons puzzle. + +He will be shepherded back to his seat at frequent intervals by the +attendant and told that if he does not eat his meal they will be unable +to take the tray away, and if they are unable to take the tray away the +table will not be able to be safely stowed in accordance with FAA +regulations and therefore the plane will be unable to land and will +therefore run out of fuel and crash with the inevitable death of +everyone on board. If he says "Fuck that, buster", it all comes true. + +ALTERNATIVE if he doesn't eat his meal it will eventually eat its way +through the plate, through the table, slither onto the floor, crawl +around the cabin reeking and humming, eat through the floor and cause +explosion decompression. Dead. + + +3) WIN + +The player does NOT eat his food but instead solves the algorithm puzzle +and eventually (within the meal-escape time) manages to find the Light +switch in 6E which will splat the seat in front of 3B thus smashing his +tray into the back of the seat and returning 2B to an upright position +in preparation for landing at this time. + +As a reward for winning this winsome little puzzlette, THE MISSING +CORNER OF THE FLIGHT SAFETY CARD falls out of seat 2B. You smother your +disgust at the flecks of dried llama-spit and examine it. It shows a +crudely-drawn picture (by Zalagasa's leading primitivist) of a misshapen +stewardess apparently standing underneath a rather wrinkled and colossal +mushroom on which is written the words "Stinglai k'aabi". + +We now control the stewardess to two more appearances. FIRST, she now +appears and tells player that there is a call for him on the telephone. +To the admiring glances of the hateful and ugly passengers he walks to +the telephone and finds that it is the waitress from the cafe wanting to +know if he left her a gratuity. She is leaving an address to which he +can mail it (which is in fact his own address) when she is cut off. He +overhears the captian talking to ATC saying that the aeroplane has lost +control (Apparently some noxious substance has eaten its way through the +hydraulic lines on the port side) and will be crashing in five minutes. +ATC informs him that he has not filed a flight plan for a crash etc. +Rings off. + +Stewardess reappears and player asks for a stinglai k'aabi and is given +one. He then has to open the hatch. Announcement from stewardess. +Player has Jump, Jump, any char., and out. Door slams shut, parachute +catches. Knock on door, stew opens it, "Oh - you fell for the old +'we're going to crash' routine, did you? Have a nice day!" + +TO POT. + +LOSE CASES AFTER WIN BUTTON. + +1) Doesn't spot parachute puzzle. + +2) Doesn't answer phone. + +3) Won't jump. + +4) Doesn't even open hatch. + + +PLANE CRASH ends each. \ No newline at end of file diff --git a/c2.zil b/c2.zil new file mode 100644 index 0000000..51ae5a8 --- /dev/null +++ b/c2.zil @@ -0,0 +1,70 @@ +"B for BUREAUCRACY: (C)1987 Infocom, Inc. All Rights Reserved." + + + + + + + + + + +ON!-INITIAL "For DEBUGR." +OFF!-INITIAL +ENABLE!-INITIAL +DISABLE!-INITIAL + + + )> + + + + + >> + + + > + )> + +> + >> + +; +> + +; "Definitions only..." + + + + + + + + + + + + + + + + + + + + + + + + + + "TAA.EXE"> + + + + + +; + diff --git a/clocker.zil b/clocker.zil new file mode 100644 index 0000000..acd5262 --- /dev/null +++ b/clocker.zil @@ -0,0 +1,135 @@ +"CLOCKER for BUREAUCRACY: (C)1987 Infocom, Inc. All rights reserved." + + + + + +> +;> + +> + + + + + + ; "Length of an interrupt entry." + ; "Offset of routine name." + ; "Offset of count." + ; "For hunger stuff." +> + + )>> + +> + > + + .QQ>) + ( .RTN> + > + .QQ>) + (T + )>)> + >>> + +"This version of QUEUE automatically enables as well." + +)) + > + > + + + ) + (T + + )> + > + >)> + + ) + ( .RTN> + + ) + (> + )> + >> + + ') + (ELSE + '> + >>)> + >>)> + + .INT> + + + +> + + +) (Q? <>) DAY:FIX) + + > + .CLOCKER>)> + > + > + + > + + + > + + + > + > + + )> + )>)> + ) + (> + > + + > + > + ) + ( + + > + )> + + )> + > + > + + )> + + )> + + >> + )>)>)>)> + > + + >)>> + > + +; "This runs every turn..." + + + +) + (DIASTOLIC:FIX )) + + <>) + (> 1> + + + ) + ( + )>)>> \ No newline at end of file diff --git a/computer.zil b/computer.zil new file mode 100644 index 0000000..4bd4835 --- /dev/null +++ b/computer.zil @@ -0,0 +1,1202 @@ + + + + + + > + ; + + + + + + + + )> + T> + +; (BYTE) 0>> + + + + > + 1>)) + )> + + + >> + + > + + + + + + ; + ) + (<==? .N 0> + > + + ; + >) + (<==? .N 2> + + > + ; + ) + (<==? .N 3> + > + > + ;> + >)> + ; + > .STOP> + )>> + > + + > + > + >> )>>> + +> > + + )> + + >> + + >>> + +; +; + > <* ,COMPUTER-WIDTH 2>> + )>>> + + + + > + > + ) + (T + )> + + + > + + + > + ; "So we can use form cursor addressing" + 2>> + > + 2>> + > + + > + + + + + + > + + + > ,COMPUTER-REAL-HEIGHT:FIX> + )>> + > + )>> + +; + + ) + (T <>)>> + + + + > + +;> + +;> + > + > + >>)> + > + >>> + ;<0? > + >>> + > + T) + (T <>)>> + + + (BYTE)> + FIELD> + 'FIELD-PROMPT "Command:" + 'FIELD-FCN COMMAND-FIELD + 'FIELD-PROMPTLEN 8 + 'FIELD-X 1 + 'FIELD-Y ,COMPUTER-COMMAND-LINE + 'FIELD-MAXLEN 29 + 'FIELD-DONE 0 + 'FIELD-CURLEN 0>>> + + + <0? > + <==? !\?>> + + <> <>> + + + <>) + ( + !\ >> + + <>) + (T T)>> + + + !\ >> + + <>) + (T T)>> + +> + +)) + + + + + )> + + + + > + + )>> + + +) + "AUX" (W ,REAL-COMMAND-WINDOW) (FLD ) + (TXT >)) + <+ + >> + + > + + + + + ; "Script, but don't print anything to screen" + T T> + + )>>> + + +) (TC )) + + + + ) CVAL (1ST? T) CSS) + > + ) + (T + )> + > + + >)> + + > + > + ) + (T + )>)> + + > + + > 1>> 4> + > + + ) + ( + >> + >> + ) + (T + >)>)>)> + )> + > + > + ) + (.CVAL )> + > + )> + 0>> + + )> + > + 0>> + )> + > + )> + 1>> + 0> + >)> + > )>>> + +) "AUX" (OX ,FORM-X) (OY ,FORM-Y)) + + + + + + + )> + + > + +> + + + +> + + + + + "FIDUC.HAK"> + + "MENU.HAK"> + + "AIRPLANE.HAK"> + + "POST.HAK"> + + "ZBUG.HAK"> + + "TRAVEL.HAK">>> + +) DIR) + :FIX 1>>>>> + ) + (> ,TARGET-COUNT> + + >> + )> + > ,TARGET-COUNT> + )>> + )>> + > + > + > + > + + :FIX 5>> + > + >>>> + ; "Trying to start up with non-existent file" + ) + ( 1> .TARG> + )>) + (T + ; "Used 'em all up, loser" + )>> + +) "AUX" LC:FIX) + >) + ( 0>> + ) + ( 0> + > 1>> 0>> + + + > + >)>) + (T + + <>)>)>> + +) + "AUX" (TC:FIX )) + > 0>> + + + > + >)> + > + > + > + T) + (T + + <>)>> + +)) + >> + + + T) + (T <>)>> + +>) DE + (LEN:FIX ) (DT )) + > + > + .FLDSTR>> + .FLD .DE .DIRTBL> + .PC>)> + >> + )> + >> + > + ) + (T + )> + ,FATAL-VALUE) + (T <>)>> + +> + +> + + + > + ) + (T + )> + + > + <>> + + + + + + + + + > + ) + (T + T> + + )> + <>> + + +)) + )> + + + ) + (T + )> + > + > + + > + ,DIR-ENTRY-INVISIBLE>> + > T> + > + >> + T>)> + >)> + > + > 0> )>> + <>> + +) (NOSCREEN? <>)) + + )> + + + + + + )>)>> + +) (NOSCREEN? <>) + "AUX" (N:FIX )) + + > + > .N> )>>)> + + + + + <>> + + + + + <+ .N>>)>)>> + + +) (REMAIN:FIX .N)) + ; "SLINE is current line on screen, DLINE is line of document, + REMAIN is lines left in document, N is total lines in document" + > + >) + (T + )> + > + > + >) + (T + .FLINE>> + )> + + + > + > .FLINE> )> + >> + + ,COMPUTER-HEIGHT>> .N> + )> + + + + + + )>> + + + + ) (CT:FIX 1) ST) + >> + >)> + + > .N> )>> + + + + T> + +> + + + + + > + + + + + + )>> + +)) + > + )> + + > + + > + + )>) + (T + )> + + + )> + + + + + + + )> + + T> + + + +> + )> + + <>> + + + "Once upon a time Douglas Adams and" + "Steve Meretzky collaborated on a game" + "called \"The Hitchhikers Guide to the" + "Galaxy.\" Everyone wanted a sequel, but" + "Douglas thought it might be fun to do" + "something different first. He called" + "that something \"Bureaucracy,\" and" + "wanted Marc Blank to work on it with" + "him. Of course, Marc was busy, and" + "Douglas was busy, and by the time they" + "could both work on it, they were too" + "busy to work on it. So, Jerry Wolper" + "got a free trip to Las Vegas to talk" + "to Douglas about it before it was" + "decided to let it rest for a while" + "instead. Jerry decided to go back to" + "school, so Marc and Douglas spent some" + "time on Nantucket looking at llamas," + "drinking Chateau d'Yquem, and arguing" + "about puzzles. Nothing much happened" + "for a while, except that Marc and" + "Douglas got distracted again. Paul" + "DiLascia decided to give it a try, but" + "changed his mind and kept working on" + "Cornerstone. Marc went to work for" + "Simon and Schuster, and Paul went to" + "work for Interleaf. Jeff O'Neill" + "finished Ballyhoo, and, casting about" + "for a new project, decided to take it" + "on, about the time Jerry graduated." + "Jeff got a trip to London out of it." + "Douglas was enthusiastic, but busy" + "with a movie. Progress was slow, and" + "then Douglas was very busy with" + "something named \"Dirk Gently.\" Jeff" + "decided it was time to work on" + "something else, and Brian Moriarty" + "took it over. He visited England, and" + "marvelled at Douglas's CD collection," + "but progress was slow. Eventually he" + "decided it was time to work on" + "something else. Paul made a cameo" + "appearance, but decided to stay at" + "Interleaf instead. So Chris Reeve and" + "Tim Anderson took it over, and mucked" + "around a lot. Finally, back in Las" + "Vegas, Michael Bywater jumped (or was" + "pushed) in and came to Boston for some" + "serious script-doctoring, which made" + "what was there into what is here. In" + "addition, there were significant" + "contributions from Liz Cyr-Jones," + "Suzanne Frank, Gary Brennan, Tomas" + "Bok, Max Buxton, Jon Palace, Dave" + "Lebling, Stu Galley, Linde Dynneson," + "and others too numerous to mention." + "Most of these people are not dead yet," + "and apologise for the inconvenience.">> + + + + <>> + +>> + DIR-ENTRY-INVISIBLE>> + DIR-ENTRY-INVISIBLE>> + DIR-ENTRY-INVISIBLE>> +> +> + + +> + ) + (T + > 0>> + > + > <- ,TARGET-COUNT 1>> + )>>)> + + + + + + + + + + + + + + + )> + + + + + + + + > + ) + (> + )>)> + )>> + +> + +> + + +> + +>)) + ; "N is number of 1000s to count down to get 1-sec. delay" + > + > 0> )>>> + +"Login stuff" + + + <- ,FIELD-DATA-OFFSET 1>>) + (GOOD-NAME? <>) (GOOD-PASSWORD? <>)) + + ) + (T + )> + + + > + .DL>) + ( + >) + (T + )> + + + + > + >) + (T + )> + + > + )> + > 1> + + .DL>)>>> + +) "AUX" (SC ) + (DC? )) + + + + > + + ) + (T + )>) + (T + )> + ) + (T + )> + + + + + + > + +> + + <>) + (T T)>> + +; "Actual mainframe simulation here..." + DIR-ENTRY-INVISIBLE>> + +> + +> + +> + +> + +> + +> + +> + +> + + + +> + + "PLANE.EXE "> + PLANE-FILE> + "HAK.EXE "> + HAK-FILE> +
"FIDUC.HAK "> + FIDUC-FILE> +
"MENU.HAK "> + MENU-FILE> +
"AIRPLANE.HAK "> + AIRPLANE-FILE> +
"POST.HAK "> + POST-FILE> +
"ZBUG.HAK "> + ZBUG-FILE> +
"TRAVEL.HAK "> + TRAVEL-FILE> +
"DVH2.HAK "> + DVH2-FILE> +
" "> + <>> +
" "> + <>> +
" "> + <>> +
" "> + <>> +
" "> + <>>>> + + + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + ";;; FILLMORE FIDUCIARY TRUST ;;;" + ";;; CENTRAL COMPUTER ACCESS ;;;" + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + <> + ".RUN" + "LOGON SLARTIBARTFAST" + <> + <> + "[NON-ASCII CHARACTERS ENCOUNTERED]">> + + + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + ";;; GENERAL RESTAURANT ACCESS CODE ;;;" + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + <> + "; THIS CAN HACK ANY RESTAURANT WITH" + "; COMPUTERISED INVENTORY, ORDER ENTRY," + "; OR BOOKKEEPING." + <> + ".RUN" + <> + "[NON-ASCII CHARACTERS ENCOUNTERED]">> + + + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + ";;; FAA TRAFFIC CONTROL COMPUTER ;;;" + ";;; AND NATIONAL WEATHER SERVICE ;;;" + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + <> + "; USE THIS TO CAUSE THE WEATHER" + "; SERVICE TO ISSUE BOGUS FORECASTS," + "; AND TO CAUSE ANY ARBITRARY AIRCRAFT" + "; TO BE ROUTED TO ANY ARBITRARY" + "; LOCATION." + <> + "[NON-ASCII CHARACTERS ENCOUNTERED]">> + + + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + ";;; POSTAL MISDIRECTION HACK ;;;" + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + <> + "; IN ADVANCED COUNTRIES, THIS CAN" + "; CAUSE MAIL TO ANY SPECIFIED ADDRESS" + "; TO BE DELIVERED TO ANY OTHER ADDRESS" + "; WITHOUT USING TELL-TALE FORWARDING" + "; STICKERS" + <> + ".READ COUNTRY" + ".READ STATE OR PROVINCE" + ".READ CITY" + ".READ STREET" + ".READ NUMBER" + ".READ APARTMENT" + ".RUN" + <> + "[NON-ASCII CHARACTERS ENCOUNTERED]">> + + + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + ";;; NATIVES ;;;" + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + <> + "; CONNECT TO ZALAGASA BOYSENBERRY" + "; USERS' GROUP COMPUTERS, JUST TO MAKE" + "; SURE THEY AREN'T GETTING ANYWHERE" + "; THEY DON'T BELONG" + <> + "[NON-ASCII CHARACTERS ENCOUNTERED]">> + + + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + ";;; TRAVEL AGENCY AND AIRLINE ;;;" + ";;; RESERVATIONS MANIPULATION ;;;" + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + <> + "; MANIPULATE AIRLINE RESERVATIONS --" + "; ROUTE SELECTED TRAVELLER TO ANY" + "; DESIRED DESTINATION, WITH ANY" + "; DESIRED INTERMEDIATE STOPS. CAN" + "; ALSO CAUSE AIRLINES TO AUTOMATICALLY" + "; ROUTE GROUPS OF TRAVELLERS" + "; INCORRECTLY." + <> + "[NON-ASCII CHARACTERS ENCOUNTERED]">> + + + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + ";;; EMERGENCY DVH2 CHA/OS ACCESS ;;;" + ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + <> + ";;===>>>WARNING<<<===" + ";; MAKE SURE THIS ISN'T DIRECTED AT A" + ";; FRIENDLY COMPUTER!!! IT WILL NEVER" + ";; WORK AGAIN!!!" + <> + "[NON-ASCII CHARACTERS ENCOUNTERED]">> + +> +> + + .DIRPTR> + ) + (T + )> + ,FATAL-VALUE> + +> + + + + + + + + + + + + + + + + <>> + +; "Returns the directory rested to the appropriate entry, or false" +) DE) + > + > + > + >>> + )> + > 1> + > + )> + >> + .DIR> + + + + + >> + )> + + + + + <- ,FIELD-DATA-OFFSET 1>>> + + +) + "AUX" (LEN:FIX ) + (LINE:FIX 0)) + + + + *.*" T>) + (T + )> + > + > + + > + > + T> + >)> + > 1> + )> + >>> + + + <>> + +> + > + + 1>> + + >> + + ,FATAL-VALUE) + (T + )>) + (T + + ,FATAL-VALUE)>> + +> + > + + 1>> + > + + ,FATAL-VALUE) + (T + + <>)>) + (T + + ,FATAL-VALUE)>> + +> + > + ;"Pointer to old file" + >> + > + > + ; "Existing file will go away, permanently, maybe" + T) + (<==? .ND > + + ) + ( + + 1 <>>) + (T + + )>) + (T + )> + + <>) + (T + + ,FATAL-VALUE)>> + + + <- ,FIELD-DATA-OFFSET 1>>)) + + > + + :FIX 1> + <==? :FIX !\Y>> + + T) + (T <>)>> + +; "Make files have same contents. DE1 source, DE2 dest" +> + > + >> + + 0>> + > ,MAX-FILENAME> + )> + + > + > 1> + )>>> + +> + > + ;"Pointer to old file" + >> + > + > + ) + ( + ; "Existing file will go away, permanently" + ) + (T + )> + + ,FATAL-VALUE) + (> + > + + + + <>) + (T + + ,FATAL-VALUE)>) + (T + + ,FATAL-VALUE)>> + +> + >> + <==? 1> ,DVH2-FILE> + 4>> + )>> + +)) + 1>> + >> + )> + > 1> + > + )>> + .TBL> + +> + > + 1 <>> + > + <>) + (T + + ,FATAL-VALUE)>> + + + + + + + >> + + + ) + (T + )> + + + + > \ No newline at end of file diff --git a/computerdefs.zil b/computerdefs.zil new file mode 100644 index 0000000..ef9869e --- /dev/null +++ b/computerdefs.zil @@ -0,0 +1,92 @@ +"COMPUTERDEFS for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. + All rights reserved." + + + + + + + + + + + +) + (TELECOM? BYTE <>) + (EXITED-ALREADY? BYTE <>) + (COMPUTER-DEAD? BYTE <>) + (COMP-X:FIX BYTE 0) + (COMP-Y:FIX BYTE 0) + (CURRENT-TARGET-NAME <>) ; "String for interrupt messages" + (REAL-TARGET-NAME <>) ; "LTABLE for looking stuff up in directory" + (REMAINING-TARGET-TURNS:FIX BYTE 0) ; "Turns left until this one's done" + (LINES-TO-NEXT-TARGET:FIX BYTE 0) ;"Lines to output before select next target" + (TERMINATE-CURRENT:FIX BYTE 0) ; "Lines to output before terminating this one" + (COMMANDS-SINCE-START:FIX BYTE 0); "Command lines read since target started" + (DIE-ON-NEXT-COMMAND BYTE <>) ; "To avoid hair of faking non-local return" + (WILL-WIN? BYTE <>) ; "True if killed computer" + (FERROR-ACTIVE? BYTE <>)> + + + + + + + + + + + +) ; "Brief help msg" + (DIR-DUMMY-1 ANY 'NONE) + (DIR-DUMMY-2 ANY 'NONE) + (DIR-DUMMY-3 ANY 'NONE) + (DIR-NAMLEN FIX) + (DIR-DATA ANY 'NONE)> + + + + + +; "Build a directory entry" +> + <==? <1 .BITS> IMPURE>> + > + >)> + > + >> + DIR-ENTRY>> + + ) + ( + > + )> + + >)>> + .BITS> + > + + > + >> + .NAME>> + .DE> + + diff --git a/events.zil b/events.zil new file mode 100644 index 0000000..a1c2b05 --- /dev/null +++ b/events.zil @@ -0,0 +1,1264 @@ +"EVENTS for BUREAUCRACY: (C)1987 Infocom, Inc. All rights reserved." + + + + + + + +> + +> + + + +)) + > ,NUMBER-OF-TUNES> + )> + + > + .X> + +> + > 10> + + )> + + .ITT>> + +> + .IR>) + (> + >> + + )> + + + ) + ( + )> + + + + )> + .IR>> + + + + .IC>) + ( + .IC>) + ( + )> + + > + +> + + + + + +)) + + + + )> + + >> + + + )> + + + ) + ( + ) + (T + )> + + + )> + + + )> + + + )> + + )> + > + + + + + + + + + ) + ( + + ) + ( + + > + + )> + + )> + + + + > + + + + )> + > + + + + + + + + + + + + + + + ; + + )> + + + + )> + .IWA>> + +) "AUX" WORD (ALREADY-HERE? <>)) + + + )> + + + + + + + + )> + + ) + (ELSE + )> + + + + + + ) + (> + ; "Burger been delivered, not paid for" + + )> + + ) + (T + )> + + + + )> + + > + + + + + + + > + + + + + ) + ( + + ) + (T + )>>>) + ( + )> + > + + + + )> + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + > + + + )> + ) + ( + .Y/N>)> + + + >> + +> + > + > + > + + + > + ) + (.LONG? + > + > + > + + )> + )> + > .N> + )>>) + ( + + )> + )> + + + >> + + + +) (CNT 0) WORD) + + > ,WATER?> + )>> + + + > + )> + + + + + ; "Wants cheese" + + )> + + + + + > + + + + + + )>) + ( + + + + + + + ) + ( + + )> + + + > + + + )> + > + + + ) + ( + + ) + ( + + + + + + ) + ( + + + + + )> + + + )>> + +> + > + > + > + >>> + + + >> + +> + + > + + >>> + +> + > + > + + > + + >>> + + >> + + + > + + >>> + + + + >> + + + + >> + + + + >> + + + >> + + + >> + +> + > + + >>> + +> + > + + + >>> + + + >> + + + >> + + + + >> + +;> +; + +>"> + + > + > + ,PS?BUZZ-WORD> + > + >>)> + + + ) + ( + ) + ( + ) + ( + ) + (T + )>)> + + + > + .WORD> + + + + + + + + + +> + +> + +)) + >>> + >)> + > .LEN> + )>> + + ) + (T + > + >>> + > + ,OT-YES/NO> + >) + (<==? .TYPE ,OT-WORD-STRING> + + >) + (<==? .TYPE ,OT-STRING> + >)> + > 1> + ) + (<0? .CT> ) + (T )>)> + >>>)>> + + > + ) + (T + )>> + +> ,W?SPECIAL> + + )> + + + + + + >> + + + + ) + (> + + > + + ) + (T + > + + + ) + ( + ) + ( + ) + (T + )>)> + ) + (> + + > + )>)> + + > + + )> + > + + > + + + )> + ) + (T + + )>) + (<==? .A ,W?WINE> + > + + > + + ,W?CALIFORNIA> + ) + (T + >)> + ) + (<==? .A ,W?SODA> + > + + ,W?WITHOUT> + )> + > + ,W?COLA> + )>) + (T + > + )> + > + + + > + + )> + )>> + +"Expects a W?XXX." + + + > + +) "AUX" (CNT:FIX 2) LEN:FIX X) + + + > + > + + )> + )) + > + > + >> + + + <==? .LC %>>> + >)>)> + + + > .LEN> + )>>> + + + + > + + + ) + (T + )>> + + + + > + +> + + + >)> + + ) + ( + + ) + ( + ) + ( + ) + ( + ) + ( + + ) + ( + + ) + (<==? .X 10> + ) + (<==? .X 13> + ) + (<==? .X 15> + ) + (<==? .X 16> + ) + (<==? .X 18> + ) + (<==? .X 20> + ) + (T + )>> + + + + + +) (ST <>) (EITHER <>)) + + + ) + ( + + )> + > + + + .IMA>) + ( + + + + )> + + ) + (T + )> + + )> + .IMA>) + ( + + + + + )> + + + ) + ( + + )> + + + )> + .IMA>) + ( + + + )> + + + )> + + )> + .IMA>) + ( + + + + + )> + ,NOT-HERE-OBJECT) + (T ,MATRON)>> + + )> + .IMA>) + ( + + + + )> + + ) + (T + )> + + )> + .IMA>) + ( + > + + )> + + ) + ( + + + + + + + )> + + ) + ( + + )> + + + ) + ( + + )> + + )> + .IMA>)> + .IMA>> + + + + )> + + + ) + (T + .IR>)>> + + + + + + + + + + + + + + + +
+
+
+
+
+
+
>> + +> + .IM>) + ( + T) + ( + + .IM>) + ( + )> + + + + >)> + + >) + (T + >)>> + + + + ,MACAW-SLOGANS>>> + + ) + (T + )>) + (ELSE )> + T> + + + + + + + + .IM>)> + > + + )> + + + + )> + + + + )> + + ) + ( + + + + + ) + (T + )> + + ) + ( + + + + + + + + )> + + + + )> + + )> + + + )> + + > + )> + + + ) + (T + )> + + + + + + + + + + + > + + + + + T> + + + + > + +> + + + + + + + .ID>) + ( + )> + > + + + ) + ( + + ) + ( + + ) + ( + + ) + ( + + + + )> + + + > + + + + + +
>> + +) X:FIX) + + + > + > + )> + + + .IL>) + ( + + .IL>) + ( + .IL>) + ( + )> + + + + + )> + + + + )> + + ) + (> + .IL>) + ( + + + .IL>) + ( + .IL>) + ( + )> + + ,PERIOD> + ) + ( + + + + + + )> + + ) + ( + + .IL>) + ( + .IL>) + ( + )> + + + " the llama treats." CR> + T> diff --git a/foo.mud b/foo.mud new file mode 100644 index 0000000..3c75898 --- /dev/null +++ b/foo.mud @@ -0,0 +1,194 @@ +BUREAUCRACY REWRITE +REVISED SCENARIO (PLOT ONLY) +v1 of Jan 87 13:50 + + +************************** + +1) HOUSE, BANK, LLAMA, MAIL + +You have just moved into your new house. Everything is fine. You have +a new job at Happitec - Vice president of Systems Development. The fact +that your previous job ended in something of a disaster when roughly +150,000 people were seriously inconvenienced by a rather buggy program +for which you were responsible is neither here nor there. The internal +bureacracy of your previous company took care of that, and anyway - when +was an information specialist's career ever set back by a disaster of +that sort? + +The game opens in the living room of your new house. Everything is +dandy, as we said. The house is much bigger than your previous +apartment, the area is nicer, you will be earning more money and, best +of all, you are leaving today on a two-week vacation, all expenses paid. +The only thing you will need is the cab fare to the airport. + +Unfortunately, due to a tiny little foul-up at the bank (which, you seem +to recall, uses software produced by your previous employers) your +change-of-address card has not been actioned by the bank. The reason? +The DP department can only accept change-of-address notifications on +official change-of-address forms. A change-of-address form has been +sent to you... at your old address, along with your checkbook and your +new credit card (which expired last week). + +Your quandary? To get hold of enough money to get a cab to the airport +to get your flight to Paris, so that you will be able to survive for a +fortnight. After all, once you start your new job, everything will be +allright. + + +In the package is a letter from your new boss, Ollie Fassbaoum, telling +you how to pick up your airline ticket. He also mentions that a check +for $75 is on its way to you in the mail. + +So you have two alternative problems. Problem A is to get your bank +either to cash you a counter cheque or to get a cheque book to you +QUICKLY so that you can get cash from your bank. Problem B is the +alternative, which is to get hold of the money order which Fassbaum has +sent. + +You can attack these problems in either order. Doesn't actually matter +which. Here they are: + +PROBLEM A: THE BANK + +STARTING INFORMATION: The bank has failed to act upon the change of +address card you sent it, because it was not on a proper form. They +HAVE used their initiative to the extent that, realising you needed a +change of address form, they sent you one. Unfortunately they sent it +to your old address. + +The new tenant of your old apartment has in fact received this form. +He has also previously received a cheque book and a credit card, among +other mail, which he politely returned to your bank with "PLEASE +FORWARD TO NEW ADDRESS" written on it. The change of address form is +the last straw. His attitude is "Fuck this; tell your bank about your +new address, I have had enough." He has gone on holiday to stalk Ai-Ai +in Zalagasa and won't be back for three weeks. + +So you might think of ringing up the bank to ask for a NEW change of +address form. If you do this, you will get Pongo the bank parrot, who +will tell you that according to their records, they sent a change of +address form to your old address (You already know this) and they can't +send another one out until the original is returned. They cannot +possibly bypass the system in your case because (A) how would it be if +everyone bypassed the system, and anyway (B) the system was manufactured +by the Deep Thought Corporation of America Inc and is notoriously +inflexible. They have had someone in to look at it but things only seem +to have got worse. Ringing the bank is therefore a no-win game play. + +You might also think of actually visiting the bank to see if they can +help. The bank staff are however completely incapable of helping you. +The systems have been automated to such an extent that the humans are +reduced to mere robots and show no initiative. They are completely +intimidated by the computer, which anyway has behaving strangely of late +so they don't want to take the risk of offending it. The only thing you +learn is that they COULD cash a money order. Since this is the thing +that Fassbaum is sending you, it is obvious that that's what you need to +find. + +If you haven't already looked in your mailbox at home, you'll perhaps do +so now. You will find that someone else's mail is in it, which might +alert you to the fact that something is wrong with the mailman. Perhaps +he is a DTC robot? Perhaps he is just a prick. Anyway, all the mail is +misdirected, and it's obvious that if you are ever going to find the +Fassbaum money order you will have to look in someone else's mail. You +will in fact NOT find the money order until you have opened all the +available mail. + +The mail problems remain exactly as they currently are except perhaps a +few more pointers ? + +The LAST batch of mail you find will contain two items: a money order +addressed to you, and an envelope addressed to someone else. The money +order will have been destroyed in one way or another, depending on where +you find it. It can have been licked by the llama, plunged into water +by the paranoid, ripped to shreds by the macaw or cut to ribbons by the +collector. Every batch of mail will also contain a special offer +suggesting that you, the lucky recipient, might have won $25,000. The +last envelope will also be another stupid thing suggesting that you have +won $25,000 and will ONLY be morally distinguishable from the other junk +mail by the fact that it is a real object. If you assume that it is +just junk, you will not ask to pick it up (**YOU AUTOMATICALLY PICK UP +THE MONEY ORDER, JUST TO MAKE THINGS SUBTLE**) and will never get to the +airport. If, however, you DO pick it up, you will find that it is +addressed to a silly name at a non-existent street address (You will be +told this in the text) so that you are perfectly justified in opening it +and taking the money order it contains. + +You then have to return to the bank with the money order and run through +the bureacratic process of cashing it. This will involve the silly +forms (siller than now but less paranoid) but in the end you will get +the money. + +Throughout this process the nerd will keep appearing and try to sell you +things to do with computing- books on protection systems, hacking +manuals, interesting terminal numbers and so forth. They will always +cost slightly more money than you have after buying your cab fare, so if +you accept his stupid offers you won't be able to get to the airport. + +Also throughout this process, pseudo DTC repair men will keep appearing +out of the corner of your eye. + +The restaurant remains the same. If you don't eat you die. The +waitress runs away after a pause because something goes wrong with the +computer terminal she is using to punch in the order. The waiter comes +out and takes your order but whatever you ask for he brings you a bill +for $475.50. When you quesiton him about the bill, he explains that the +DTC computer is fubar and the real bill is $4.50 + +>ASK WAITER ABOUT COMPUTER +"It's a DTC. As I said, it's Fubar." + +>ASK WAITER ABOUT FUBAR +"Fouled Up Beyond All Recognition. As I said, it's a DTC" + +Outside, the waitress and a pseudo-DTC engineer in a white coat with a +walkie-talkie is snigelling (a very private in-joke word which will not +be explained) over something with the waitress. They disappear when they +see you. + +DTC engineers are found everywhere. + +The general principle is that DTC is the Frobozzco of the computer world +and that companies use DTC foul-ups to excuse their own infelxibility. + +The CAB COMPANY and AIRPORT work as normal except that we will find some +way of blaming the snafu at ATC on the DTC computer. + +The AIRPLANE PUZZLE we have already dealt with. + +Perhaps the piped music system is a DTC product as well, and Boysenberry +could have been a once-creative company now absorbed into the DTC +bureacracy. + +The airplane pay-off is the stewardess telling you that it is not +actually going to crash, it is in fact a totally inexplicable computer +malfunction. + +ZALAGASA, THE SILICON MINE, THE MAZE +=================================== + +Zalagasa could be a real or a fantastical place. It is never actually +made explicit which is real, although attention is drawn to your labile +emotional state at the time. + +While you are in the cooking pot it occurs to you that a series of +bureacratic and computer foul-ups have led to this sorry plight, but on +the other hand you have at last found tranquility in a place where +neither computers nor bureacratic conventions exist. Witness the +charming primitivism of the Zalagasans dancing round the pot chanting +their age-old chant of ZBUG! ZBUG! ZBUG!. + +You solve the eclipse prediction puzzle as before and escape from the +cooking pot. One of the Zalagasans comes back and engages you in +conversation, observing that your Boysenberry is in fact a rather +primitive version and that theirs has a much more sophisticated BIOS +which was introduced to them by a mysterious nerd-like figure who +emerges periodically from a hole in the ground. He tells you that that +hole in the ground is over to the west. + +This leads you into the Silicon Mine, which is in fact the Quicksand +renamed PLUS the + + + diff --git a/formdefs.zil b/formdefs.zil new file mode 100644 index 0000000..37463eb --- /dev/null +++ b/formdefs.zil @@ -0,0 +1,131 @@ +"FORMDEFS for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. All rights reserved." + + + + + + + + + + + + +"Args for field functions" + + + + + + + + + + + + +; "Structure to represent a single field." +; "Form is just a table of fields. Internally, we enforce the restriction + that there can be no more than two fields on a line." + +) + (FIELD-DUMMY-1 ANY 'NONE) + (FIELD-DUMMY-2 ANY 'NONE) + (FIELD-DUMMY-3 ANY 'NONE) + (FIELD-PROMPTLEN FIX) ; "Length of frob" + (FIELD-X FIX) + (FIELD-Y FIX) + (FIELD-MAXLEN FIX) + (FIELD-DONE FIX 0) + ; "This field can't be moved, because it makes the data in the + field look like a byte table with a length..." + (FIELD-CURLEN FIX) + (FIELD-DATA ANY 'NONE)> + + + +; "Field syntax is + (name:ATOM prompt:STRING maxlen:FIX OPT init:STRING)" + + + > + +:STRING> <3 .FIELD>:FIX 1>> + + + + )> + > + >> + + > + 1> + <- ,FORM-WIDTH 2>>> + <+ .FIELDN 1>> + > + >) + (T + + >)> + > + >> + > + +>>> + >> <- ,FORM-LENGTH 1>> + >> + ,FORM-LENGTH>)>> + + + + 2> + .LINENO>)>> + +> 1 <3 .FIELD>> + <- ,FORM-WIDTH 2>> + )> + :FIX> + (BYTE)> + FIELD>> + 'FIELD-PROMPT <2 .FIELD> + 'FIELD-PROMPTLEN <+ > 1> + 'FIELD-X .X + 'FIELD-Y .Y + 'FIELD-MAXLEN <3 .FIELD> + 'FIELD-CURLEN 0 + 'FIELD-ABUSE > TABLE> + >) + (> FORM> + >>)>> + > ATOM> + >>) + ( 1>> ATOM> + 1>>>)> + <- .FIELDNO 1>>> + >> + 3> + STRING>> + :STRING>> + )) + >>> + >> + )> + >>)>> + + diff --git a/forms.zil b/forms.zil new file mode 100644 index 0000000..9c5e318 --- /dev/null +++ b/forms.zil @@ -0,0 +1,595 @@ +"FORMS for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. All rights reserved." + + + + + + + + + +> + +> + + 2>> + > + 2>> + > + + > + + > + + + + + + + + + + + ) (FIELDS ) TF) + + > + )> + > + >> + > + + > + <==? .RLINE>> + > + > + > + >)> + + > + >> + > + + + + <+ .X ,MARGIN>>> + + + > + + + + + > + +> + + + > + +) + (FIRST-NAME "First name:" 25 "Random" FF-NAME + ) + (MIDDLE-INITIAL "Middle initial:" 1 "Q" FF-MIDDLE-INITIAL) + (YOUR-SEX "Your sex (M/F):" 1 "M" FF-SEX) + (STREET-NUMBER "House number:" 4 "69" + FF-STREET-NUMBER + ) + (STREET-NAME "Street name:" 24 "Mandalay" + ) + (CITY-NAME "City:" 18 "Newton" ) + (STATE-NAME "State:" 5 "MA" FF-STATE) + (ZIP-CODE "Zip:" 6 "02174") + (PHONE-NUMBER "Phone:" 17 "646 9105" FF-PHONE-NUMBER) + (EMPLOYER-NAME "Last employer but one:" 14 "Infocom" + ) + (LEAST-FAVORITE-COLOR "Least favourite colour:" 12 "red" + FF-LEAST-FAVORITE-COLOR) + (FRIEND "Name of girl/boy friend:" 11 "Dunbar" + ) + (LAST-FRIEND "Previous girl/boy friend:" 10 "None" + )> + +> ; "True--> female" + + + + +)) + + > + + ) + (T + + )> + + ) + (T + )> + + + )> + + > + + + + + + ) + (T + + >)> + > + +) + "AUX" (CNT 0) (PTR ,FIELD-DATA-OFFSET) + MAX CHAR:FIX TBL:FIELD OLDLEN (ECHO? T)) + ) + (T + )> + > + > + ,FORM-DO-ECHO? .TBL>>> + >)> + > + >> + > + > + + + > + + + + )> + > + ; "CR?" + + + )> + + > + ) + (T + )> + ) + (T + > + )> + + + )>) + ( 14> + )> + + )> + .FF>) + ( ; "Backspace?" + + + > + ) + (T + )> + )> + > + )> + >> + > + + + )> + > 0> + ) + (<==? .CNT .MAX> + + + ) + (> + ,FORM-ADD-CHAR .TBL .CHAR>> + ; "OK to use this char?" + 1>> + 1>>> + >)> + + >)> + + > + >>) + (T + + )> + > + )>>> + +"Functions for individual fields" + + + <==? 2>> + 2) + (T T)>> + + <>) + (T T)>> + + + ; "Force street number after name..." + >>> + <>) + (T T)>) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + >>>> + + + + > + > + + )> + + >> + >> + >> + >> + >> + .VAL) + (<==? .CONTEXT ,FORM-ADD-CHAR> + T) + (T + + <>)>) + (T T)>> + + + + > + %>> + T) + (T + + <>)>) + (T T)>> + +> + >> + T) + (T <>)>> + + + % %> + ) + (T + >)> + T) + (<==? .CONTEXT ,FORM-ADD-CHAR> + %> + %>> + T) + (T + + <>)>) + (T T)>> + + + > + >> + > + >>> + T) + (T + + <>)>) + (T T)>> + + + %> + > + + <>) + (T + )) + FIX> .CHAR> + + ) + (<==? .CHAR %> + ) + (T + )> + .FF-NAME>)> + >> + )> + >> + T)>) + (T T)>) + (T T)>> + +) + LEN TBL CHAR:FIX (UC? T) (ALL-UC? <>) TV) + >>> + > + + .FN>) + (T + > + + ,FORM-UPPERCASE? .TBL>>>> + >)> + )> + FIX>> + 1>> + 1>>> + + >) + ( <==? .CNT 1>> + T) + (.CAP? + >) + (T + >)>) + ( %> + + ) + (T + > + > .LEN> + )> + )>)> + + > + > + > .LEN> + )>>)>> + + + + + + + + + + > 127> + ) + (T + + + )> + + >>> + +> .LEN> + ; "If we've been through the loop too many times without a hit, + just start at the beginning and proceed until we find something + or run out (in 2nd case, return -1)" + > .LEN> + + )> + >) + (T + > + >)> + >>> + > + ,FORM-OK-TO-ENTER-FIELD? .F>>> + 1> + + )>)>> + .N> + + + +) (HIST ,FORM-HISTORY) + (HISTLEN 0) N (BOGUS-ERRORS 0)) + > + + + > + >>> + >> + ,FORM-FIELD-RESET .F>)> + 0> + > .FIELDCT> )>> + > + + ) ERRVAL) + > + > + > + + + + + )> + + >> + > + + + > + + ; "Put this field back on the list" + + ; "And find the one we were in before" + >> FIX>> + ) + (> + ,FORM-EXIT-FIELD .TBL>> + + + )> + + + + > + 3>> + )>)>)> + + + >> + > T> + )> + > .FIELDCT> + )> + + > + )>> + + + ; "Does SCREEN S-TEXT..." + + + + + )> + + > + + T> + +"Some constants to prevent number overflows" + + ;"Largest positive number on 16 bit machine." +> ;"Largest div by 10" +> ;"Largest div by 100" + +"Expects address of an ASCII byte table, 0th byte = length. Returns value. + If DOT-OK is true, allows a decimal and in fact makes it 100 times bigger + if no decimal point. Returns -1 if overflow and -2 if too many dots." + +) + "AUX" (SUM:FIX 0) LEN:FIX X:FIX (DOT-SEEN <>)) + FIX>> + FIX>> + 1>> + 1>>> + + )> + > + >> + > + )> + >) + (>> + > + ) + (T + )> + > .LEN> + > + + )> + >)> + )>> + > + +> + +)) + + + + )> + > + +> + +> + +)) + + )> + >>>> + +) "AUX" TF LEN:FIX) + + )> + > + > + " "> + + + > .LEN> )>>> + +)) + ) + (T + FIX>> + + > + > .LEN> + )>>)>> diff --git a/jet.zil b/jet.zil new file mode 100644 index 0000000..6990462 --- /dev/null +++ b/jet.zil @@ -0,0 +1,1370 @@ +"JET for + BUREAUCRACY + (c) Copyright 1985 Infocom, Inc. All Rights Reserved." + +;"ON-FLIGHT = 1 -> HIJACKED + 2 -> NO VISA + 3 -> PARACHUTE TEAM + + This GLOBAL is set up in AIRPORT, depending on your gate. The ON-FLIGHT will + determine descriptions of almost everything, as well as what happens on the + flight. +" + +;"The generic airplane" + +> + + + + + ) + ( > + + + + )>> + +> + + + + + + + )>> + + + + + )>> + + + + + > + + + >>) + (T + )> + + > + )> + > + + ) + (T + )> + > + + >)> + >> + + ) + (<1? .NS> + ) + (T + )> + )> + )>> + + 8>>> + + + > + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + )>> + + + + + )>> + + + +> + + + + + )>> + + + + + + + +> + ) + ( + + ) + (T + + ,MOVIE-TIME> CR> + + + + + ) + (T + )> + )>)>> + + + ) + ( + ) + (T + )>> + +> + +> + > + + + > + > + + + + > + > + + + + > + + > + + + + + + + + + > + > + + + + + + + ) + (T + )>> + + + + + + + ) + ( + + > + > + + ) + ( + )>) + (,FLY-HACK? + ) + (T + )>> + + + +> + +> + +> + + + ) + (,FLY-HACK? + ) + (,CHUTE-DEPLOYED? + ) + (T + )>) + ( + > 4> + + ) + (T )> + + )>)> + + + > + + ) + ( >> + + )>) + ( + + >)> + > + + ) + ( + + ) + (T + + + )>) + (> + ) + (,CHUTE-DEPLOYED? + ) + (T + )>)>> + + + + + + + ) + (,FLY-HACK? + ) + (T + + )>) + ( + )>> + + ,FLY-HACK?> + + + + ) + ( + ) + (,CHUTE-DEPLOYED? + ) + (T + )>)>> + + + + + + ) + (T + + )>) + ( + + ) + (T + + )>) + (T + ;"Will handle some more stuff here" + + + )>> + +> + + + + + > + +> 5> + ) + ( + > 5>> + ) + ( + CR> + + )> + ) + (T + CR> + + )> + )>> + + + +> + > + ) + ( > + )>) + ( + > + ) + (,IMMIGRATION-FILLED? + ) + (T + )>) + (>> + > + )>> + + + + + + > + > + + + > + + + + + + ) + (T + )>)>) + ( + + + ) + ( + ) + ( + ) + (T + )>) + (T + )>> + + + +> + +> + + + )>> + + + + + + + + )> + ) + (T + + )>)>> + +> +> + + + ) + ( + ) + (T + + )>)>> + + + + > + > + +> + + + + + + ) + ( ) + (T + )>) + ( + ) + ( + )>> + + + + + ) + ( + )>> + + + + + + ) + (T + )>) + ( + )>> + + + +> 5> + + + >)>> + + + + + )>> + + + > + + + + + ) + ( + )>> + + + + + + + +> + + + + ) + ( + + ) + (T + + )>> + + +;"Zalagasa" + +;"Parachute" +>> + + + > + +> + > + +> + ) + ( > + + + + )>> + +;"Things to ask for, in general, and global type things." + + + + + + + + + + + + + + ) + ( + ) + (T + )>) + (T + )>> + + + + ;"Seating, etc." + +> + + + +> + ) + ( + ) + ( + > + > + > + ) + ( .A>> + ) + (T + + > + ) + (T + )> + )>)>) + ( + >> + ) + (,SEATED? + ) + (T + > + > + > + ) + ( + ) + (> + ) + ( .A>> + ) + (<0? > + + > + + ) + (T + )>)>)>> + +> + > + > + >> + + + + + )>> + +> + +) (S <>)) + >)> + >)> + 4> <- .S 1>>>> + + + +> + ) + ( + ) + ( + ) + ( + + > + >>> + ) + (T + )>> + + + + + + ) + ( + ) + (T + )>)>> + + + + + )>> + + + +> + + + ) + ( > + + ) + ( + + + ) + ( 8> + + + ) + (T + )>)>> + + + + + + ) + ( > + + + + ) + ( > + + + + > + )>> + +> + + + + + + + + + diff --git a/jetdefs.zil b/jetdefs.zil new file mode 100644 index 0000000..cf128f0 --- /dev/null +++ b/jetdefs.zil @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + +) + (PHONES-PLUGGED-IN? BYTE <>) + (CURRENT-STAR BYTE 0) + (CURRENT-DESC BYTE 0) + (CURRENT-WEAPON BYTE 0) + (LOSER-CANT-LEAVE-SEAT? BYTE <>) + (PURSER-HERE? BYTE <>) + (PHONE-MUSIC:FIX BYTE 0) ; "Headphone stuff" + (PHONE-TIMER:FIX BYTE 0) ; "Random" + (LAST-ROW:FIX BYTE 0) ; "Previous row occupied" + (LAST-SEAT:FIX BYTE 0) ; "Previous seat" + (NEW-ROW:FIX BYTE 0) + (NEW-SEAT:FIX BYTE 0) + (RETURN-TO-SEAT-WAIT:FIX BYTE 0) + (SCENE-NUMBER:FIX BYTE 0); "1, 2, or 3; one is added each time" + (CURRENT-SCENE:FIX BYTE 0) ; "1, 2, or 3" + (DREAMING? BYTE T) ; "false for last scene" + ; "Variables for meal script" + (MEAL-SCRIPT:FIX BYTE 0) + (MEAL-COUNTER:FIX BYTE 0) + (SINK-CLEANED? BYTE <>) + (TEETH-BRUSHED? BYTE <>) + ; "Variables for visa script" + (VISA-SCRIPT:FIX BYTE 11) ; "Number of incidents" + (FORM-FILLED-OUT? BYTE <>) ; "Loser actually filled out form" + (ATTENDANT-COMPLAINTS BYTE 0) + (GOT-VISA-NUMBER? BYTE <>); "Got visa number from someone else" + (VISA-SLEEPING? BYTE 0) + (GRANDMA-HAPPY? BYTE <>) + (SMOKER-IRATE? BYTE <>) + (BUSINESS-IRATE? BYTE <>) + (FALL-SCRIPT:FIX BYTE 5) + (FORM-SEEN? BYTE <>) + (CURRENT-NEIGHBOR BYTE 0) + (BUSINESS-ROW BYTE 0) + (BUSINESS-SEAT BYTE 0) + (BROUGHT-COMPUTER? BYTE <>) + (GOT-RECIPE? BYTE <>) + (FLIGHT-ATTENDANT-HE/SHE:STRING "She") + (FLIGHT-ATTENDANT-HIM/HER:STRING "her") + (THROWN-OFF-ONCE? BYTE <>) + (FIRST-SCENE? BYTE T)> + +> + +> + +> + +> + + + +> +
+ ,ALL-SEATS>) + (T + + >>>)>> + +; "State of seating is low four bits; starboard passenger, if any, is next + four; port passenger is next four. Three remaining bits below the sign + bit can be used for flags." + + + + + +> + + + + + + + + diff --git a/macros.zil b/macros.zil new file mode 100644 index 0000000..4b13a6f --- /dev/null +++ b/macros.zil @@ -0,0 +1,181 @@ +"MACROS for BUREAUCRACY: (C)1987 Infocom, Inc. All rights reserved." + + + + + + + + + + + + + (N NUM) * + (C CHAR CHR) * + Q * + (D DESC) * + (A AN) * + CA * + THE * + CTHE * + THEO + CTHEO + CTHEI + THEI + ITAL *:STRING + WORD * + PONE * + PNEXT * + > + + + + + +) + (T + )>> + +> + +> + +> + +> + + + + ) + ( + ) + (ELSE + )>>)> + + )> + > + + + >>) + (T .ATM)> GVAL>) + (ELSE .ATM)>)>>> + > + 4> + )>> + !>)>>> + + >> + +; > + +; > + +; > + +; + + ) + (<==? .X FSET?> + ) + (ELSE + )>>)> + > + > + + .ATM) + (ELSE + )>> + !.O)>>> + +>>> + +> + >> + >) + (T + >>)>> + +> + +> + +> + +> + +> + + 2> 1>> + +> + +> + +> + +>> + + + ) + (T + .NUM)>> + + + >> + )>> + +> + +>> + +>>> + +> + >) + (ELSE )>> + .STR>> \ No newline at end of file diff --git a/maze-program.zil b/maze-program.zil new file mode 100644 index 0000000..e39e19f --- /dev/null +++ b/maze-program.zil @@ -0,0 +1,245 @@ +"MAZE-PROG for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. + All rights reserved." + + + + + +> +> + +>>> + +> + +) N:FIX) + >> + + + ) + (ELSE .CH)>> + +)) + + + + > + > + )> + + >)> + T> + > + + > + >> + + ; + > + > + > .K> + )>> + >) + (ELSE )>>> + .TBL>> + +> + +> + + + + + > + <+ .I 1>>>>> + > ,COMPUTER-WIDTH> + > + )> + > + .UV> + .UV> + +" 0 ==> space, 1...26 ==> A...Z, 27...53 ==> a...z, + 54 ==> . + 55 ==> , + 56 ==> ; + 57...63 ==> 0...6 +" + +> + 0) + (> + >> + <- .CHAR -1>) + (> + >> + <- .CHAR -27>) + (> + >> + <- .CHAR -57>) + (<==? .CHAR > 54) + (<==? .CHAR > 55) + (<==? .CHAR > 56)>> + +TEXT.FILE"> + +>> + +> 0> )> + > + > + > + > + > + > + >> + + + + + + + +
+
+
>> + + % %>> + + + + > 0> )> + > + > + 64> *77*>> + *77777*> 2048> *17*>> + + >) + (ELSE + >)> + > + <>> + + +) N:FIX H:FIX V:FIX (I:FIX 0)) + + > 0> )> + > + > + 64> *77*>> + *77777*> 2048> *17*>> + > + ; "Just checking for top half of screen" + ; > + + ; "Know top half, so just check for left" + > + ;> + >) + (ELSE )>) + (ELSE + >)> + )>> + <>> + + +) N:FIX H:FIX V:FIX (I:FIX 0)) + + > 0> )> + > + > + ; "this tries to win with 16-bit arithmetic" + 64> *77*>> + *77777*> 2048> *17*>> + > + ; + > + + ; "If in bottom half, must be quad 2" + > + ;> + >) + (ELSE )>) + (ELSE + >)> + )>> + <>> + + + + > 0> )> + > + > + 64> *77*>> + *77777*> 2048> *17*>> + > + > + )>> + <>> + + + +> + +) SW) + > + >> + + <- ,FIELD-DATA-OFFSET 1>>> + > ,COMPUTER-WIDTH> + + ) + (T + >)>)> + >>> + >>>>)>)> + + 1>>) + (T + )>> + +> + ) + ( 1>>>) + ( 27>>>) + ( 57>>>) + (ELSE >>)> + .N> + +) + (QL:FIX ) + (QR:FIX ) + (QT:FIX ) + (QB:FIX )) + + > + T) + (ELSE <>)>> diff --git a/maze.zil b/maze.zil new file mode 100644 index 0000000..1fc4bce --- /dev/null +++ b/maze.zil @@ -0,0 +1,917 @@ +"MAZE for BUREAUCRACY: Copyright 1987 Infocom, Inc. All rights reserved." + + + + + + + + + + + +> + +) "AUX" DIF) + + ) + ( + > + + <>) + (<==? .CONTEXT ,M-ENTERING> + + + )> + + ; "Make sure the maze room number is always bigger" + :FIX + <* ,MAZE-STEPS-TAKEN:FIX 25>>> + ; "Now adjust this so the last digit of the difference is between + 0 and 5: suppose the difference is 11. We add 8, making the + difference 19, then add something between 1 and 6, giving something + from 20 to 25. Similarly, if the difference is 8, we add 1, + the difference is 9, and win again." + 10>> + :FIX>> + ,IN-CLEARING>) + ( <>) + ( + > + + >> + ) + (T + + + >) + (T + )> + )>)>> + +> + +> + + + ,MAZE-ROOM) + (T + ; "New theory: don't fall back into jungle until right number + of steps taken..." + > + ; "Losing, don't forget to screw the guy later" + )> + > + + + + > + ,IN-CLEARING) + (T + ,INNER-ROOM)>) + (T + ,MAZE-ROOM)>)>> + + LAST-MAZE-ROOM; get the last digit of the + difference" + 10>> + ) + (<==? .N 1> ) + (<==? .N 2> ) + (<==? .N 3> ) + (<==? .N 4> ) + (<==? .N 5> )> + T) + (T <>)>> + +;"ODD-GATE-SOLVED? determines whether gate appears here or not..." + + +)) + + > + ; "Gate is open" + + >)> + + ; "Trap door is open" + >)> + + ; "Only one place to enter" + + <>) + (T + ; "The complex" + )>) + (T + + <>)>> + +) "AUX" VEC) + + + + )> + > + )> + <>) + (<==? .CONTEXT ,M-LOOK> + + + + + )>) + (T <>)>> + + + + <>) + ( + ,CARD-ROOM) + (T + + <>)>> + + +> +> + +> + +> +; ;"Done a look?" + <> ;"Attempted a DROP?" + + ; + + > + ;0>> + + + + + + + ,IN-COMPLEX) + (T + + <>)>> + + + +) "AUX" (SS )) + + + + + + )> + T) + (<==? .CONTEXT ,M-CONT> + + >> + + + + T)>) + ( <>) + ( + + + + + ) + (T + )>) + ( + > + + ) + (T + )>) + (ELSE + + > + T)>) + (ELSE <>)>) + ( + + >> + + + > + + )>)>) + ( + > + + > + + + )>)>) + ( + > + ) + ( + + + ) + (T + )> + + ) + ( + + + T) + (T + + ) + ( + ) + (T + )> + + + T)>) + ( + + + + ) + (T + )> + ) + ( + + ) + (T + )>) + ( + )>) + ( + ) + (T <>)>> + + + +> + + + ) + (ELSE + + )>> + + +> +> + +) + "AUX" (POS ,COMPLEX-POS) OBJS + (LOOK? ,COMPLEX-LOOKED?) + CNT) + + + + ) + (<==? .POS ,NUM-COMPLEX-POSITIONS> ) + (T )> + + ) + (<==? .POS ,NUM-COMPLEX-POSITIONS> + ) + (ELSE + )> + + T) + (<==? .CONTEXT ,M-ENTERED> + + + )>) + (<==? .POS ,NUM-COMPLEX-POSITIONS> + <>) + (ELSE + ;> + ; + .POS>> + ; + ; + + )>)> + )> + > + T) + (<==? .CONTEXT ,M-ENTERING> + + ) + (T + )> + <>) + ( + > + >) + ;(<==? .CONTEXT ,M-BEG> + > + > + > + > + > + + + + + + >> + + ,FATAL-VALUE) + (ELSE <>)>) + (T <>)>> + +; + + >> + + + + + <>) + (ELSE + > + ;> + >)> + + ,IN-COMPLEX)>) + (<==? .X ,NUM-COMPLEX-POSITIONS> + ,UNDER-TRAP-DOOR) + (ELSE + > + ; + >)> + ,IN-COMPLEX)>> + + + + + <> + " now at Happitec ">> + + + + > + <- ,FIELD-DATA-OFFSET 1>> + > + <- ,FIELD-DATA-OFFSET 1>>> + T) + (ELSE <>)>> + + + + + +> + +>> + + + + ) + (<==? .POS ,NUM-COMPLEX-POSITIONS> + + )> + >)> + + + > + > + >) + (T + >)> + + T) + (ELSE + <>)>> + +; + > + > + > 0> + )>>)> + T> + +; + > + > + + + > 0> + )>>)> + T> + + + +> + +)) + + + + + T) + ( <>) + ( + + ) + ( + ) + ( + )>) + ( + + ) + ( + ) + ( + ) + ( + > + + )>) + (T + )>> + + + > + > + + ,IN-COMPLEX) + (T + + ,LANDING-STRIP)>> + + + + + + + ) + (T + + > + ) + (T + )>)> + >> + + <>> + + + +)) + + + + + ) + (> + )> + <>) + ( + > + + + + T) + (> 0> + + + + T) + ( + + + + T) + (<==? ,P-WALK-DIR ,P?UP> + + + T)>) + ( + + + T) + (T <>)>) + ( + <==? ,P-WALK-DIR ,P?UP>> + ) + ( + + + T) + (T <>)>) + (<==? .CONTEXT ,M-LOOK> + ) + ( <>) + ( + + ) + (T + )>)>> + + + +> 2> + ) + (<==? ,PLANE-ARRIVE-COUNT 0> + + + ) + (T + + + + + + + + + + > + + + + + + + + + + + + >) + (T + + + T)>)>) + (T <>)>> + + + + + + + T) + ( + ) + ( + > + + + T) + ( + > + + + + + + + + )> + >)>> + diff --git a/misc.zil b/misc.zil new file mode 100644 index 0000000..c2e101e --- /dev/null +++ b/misc.zil @@ -0,0 +1,1088 @@ +"MISC for BUREAUCRACY: (C)1987 Infocom, Inc. All Rights Reserved." + + + + + + + + + +"*** ZCODE STARTS HERE ***" + + + +> +> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ; "Width of screen." + ; "Height of screen." + +> + +> + >>> + +> + + >> + >) + (T + )>> + +> + +)) + > + + + > + T) + ( + ) (X2 <>)) + >>> + ,ALL-HANDLES ,HANDLE-COUNT>> + .OG?>)> + ) + ( + ) + (T + .OG?>)>) + ( + <==? .O .X2>> + .OG?>)> + + )>>)>> + +> +> + +) (FAKE? <>) + "AUX" ICNT:FIX OCNT:FIX NUM:FIX CNT:FIX OBJ TBL (V <>) + PTBL OBJ1 TMP X (OLD-THEM <>)) + + > + + > + >)> + + > + > + >)> + + > + > + + > + > + > .ICNT> + ) + (T + ,IT> + + + )>)>> + + + > .OCNT> + ) + (T + ,IT> + + )>)>>)> + )> + + .OCNT) + ( + + + >) + (T + >)> + .OCNT) + ( + > + + > + .ICNT) + (T + 1)>> + + > + >)> + + + >> + >) + ( + ,P-SONUMS>> + > + >) + ;( + + ) + (T + + + > + + ) + ( + > + >) + (T + + >>)> + + >)>) + ; ( + + > + >) + (T + + > + > + + + > + ) + ( + + > + )>)> + > + > .NUM> + + + > + )> + + > + )> + + > + ) + (T )> + ) + ( + )> + ) + (T + + >) + (T + >)> + + 0> ,W?ALL ,W?EVERYTHING>> + + > + ) + ( + > + ) + (> + ) + ( + ) + (T + + + ) + (T + + )> + )> + )>)>)> + + .OBJ1) + (T .OBJ)>> + .OBJ) + (T .OBJ1)>> + > + + )>)> + + > + )>> + ; "OLD-THEM 0 means no p-mult. -1 means THEM was + used here; -2 means no previous them object." + T) + (T >)>)> + + >)>) + (T + + )> + >)> + >)> + + + + > + > + >> + >)> + > + > + >> + +> + + + > T) + (T <>)>> + +> + +> + +> + +> + +> + +> + +> + + >) + ( + + T) + ( + T) + (> + >> + T) + (<==? .L ,LLAMA-PEN> <>) + ( + >> + T) + ( + + > + T) + ( + > T) + ( + .DA>)>) + ( + > + .DA>)>) + ( + T) + ( T) + ( T) + ( + .DA>)>) + (T + .DA>)> + T> + + ,NOT-HERE-OBJECT> + <>) + ( ,WINNER ,HERE ,GLOBAL-OBJECTS> + T) + (<==? .OBJ ,RANDOM-OBJECT> T) + ( + > T) + ( + > T) + ( + > T) + ( + T) + (T + <>)>> + + ,NOT-HERE-OBJECT> + .VIS>)> + > + T) + ( ,GLOBAL-OBJECTS> + <>) + ( + T) + ( + > + T) + ( + > + T) + (T + <>)>> + + )> + >> .MI>)>>> + + + .ML>) + ( + ) + ( + ) + (T + >)>>> + +> + + > + + + + > + ; "Doesn't do any screen output, returns len" + ; "Erase old desc." + + ; "Print new HERE desc." + + + + + ; "Back to main screen.")>> + +> 0> + )> + >> + +)) + + + + ; + ) + (T + )> + + ) + ;( + ) + (T + + + ; "Says to capitalise all words" + + ; + > + + + + )>)>> + + 80>> ; "Blood pressure." + ; "Previous blood pressure." + +> + + > + + + + > + ; "Erase old numbers." + + + + + + ; "Back to main screen.")>> + +) + (DIASTOLIC )) + > + +>> + +>> + +)) + + )> + > + ) + (T + + + )>> + +)) + + )> + > + )> + > + + + T> + + + T> + +> + + ) + (T + )>> + + + + > + +> + + + )>) + ( + ) + (T + )>)> + > + + + + + + + + + + + > + + + > + > + )> + + > + > + T) + ( + > + + > + > + + )> + + + ) + ( + )> + + >) + (T + >)> + T) + (T + + ,FATAL-VALUE)>) + (T + <>)>> + + + +> + +> + +> + > + + >> 2> + 3>> + > + +> + +> + + + + + + ;"Slightly hunger" + ;"Hungry" + ;"Very hungry" + ;"Famished" + ;"Delirious" + + ;"Offset for error messages" + ;"Offset for msgs during eating." + ;"Offset for msgs when hunger achieved." +; ;"Offset for hunger probs." +; + ;"Offset for msgs if try eating LLAMA food." + + + + + + + ; + >> + + + +> + +) "AUX" (H:FIX ,HUNGER) PR:FIX H1:FIX) + + >)> + + + > + ) + ( <==? .CONTEXT ,M-WINNER>> + ;> + ; .H1>> + + + ; + + > + > + CR> + + ,FATAL-VALUE) + (ELSE <>)>)>> + + + >)> + + <==? <* > 40> ,HUNGER:FIX>> + + )> + )> + .H1> CR> + T) + (T + > + <>)>> + + + > CR>> + +> + +> + + + + + + T) + ( + > + + ,FATAL-VALUE) + ( + + T) + (T + <>)>> + + .STR>> + +) (STRING? <>)) + + + + + + ) + ( + ) + (T + )> + + ) + ( + > + )> + ) + (T + )> + > + + + + ) + (T + )> + > + + + + > + +> + + + + + > + + + + + +> + + 5> ; "Atari ST?" + >)> + + + + + + > + > + ) + (; 8> + + + ; 8>> ; "ITALICS BIT SET?" + + > + + + + >> + + + ) + (T + )> + + )> + >> + ) + (T + > + + > + >)> + + + )> + >>)> + ;> + ; + ; + ; + ; + T> + + + <>) + (T + + T)>> + +)) + + )> + + > + +)) + + )> + + > + +)) + + )> + + > + > + +)) + + )> + + > + > + +)) + > + +)) + > + + + )> + + > + > + +> + +;)) + + )> + > + +> + +) (VOWEL T)) + + )> + + + )> + ) + (T + )> + > + +> + +> + +)) + + )> + + ) + (T + )>> + +)) + + )> + + ) + (T + )>> + + + + > 0> + )>>)> + T> + + + <>> + + + <>> + +> + +)) + + + + "ly " + PNEXT " to "> + + ) + (T + )> + > + + +
>> + +) (WORD3 <>) "AUX" WD OFWD) + + 0>> + > + > + > + >> + T) + (T <>)>) + (T <>)>> + +) (WORD3 <>) "AUX" WD OFWD) + + 0>> + > + > + > + >> + T) + (T <>)>) + (T <>)>> + +) (WORD3 <>) + "AUX" O I OOF IOF) + + ) + (T + )>> + +) (WORD3 <>) "AUX" ADJ) + + > + > + T) + (T <>)>) + (T <>)>> + +) (WORD3 <>) "AUX" ADJ) + + > + > + T) + (T <>)>) + (T <>)>> + +) (WORD3 <>)) + + ) + (T + )>> + + + + + T) + (T + <>)>) + ( + + T) + ( + + T) + ( + + T) + ( + > + + T) + (T + <>)>> + +> + > + T> + +)) + + + ) + (T + )> + + T> + +> + +; + T> + + ) + ( )> + T> + +> diff --git a/mumble.zil b/mumble.zil new file mode 100644 index 0000000..6bebd15 --- /dev/null +++ b/mumble.zil @@ -0,0 +1,295 @@ +"MAZE-PROG for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. + All rights reserved." + + + + + +> +> +> +> +> +> + +>>> + +) N:FIX + (TS >) + (COLS:VECTOR ,TST) (CS <1 .COLS>)) + >> + >> + )> + 1>> + .CS> + > + >) + (> + > + > + + >) + (T + + >)>> + ) + (ELSE .CH)>> + +> + > + >) + (T + )>> + .ST>> + ,TST>> + +" 0 ==> space, 1...26 ==> A...Z, 27...53 ==> a...z, + 54 ==> . + 55 ==> , + 56 ==> ; + 57...63 ==> 0...6 +" + +> + 0) + (> + >> + <- .CHAR -1>) + (> + >> + <- .CHAR -27>) + (> + >> + <- .CHAR -57>) + (<==? .CHAR > 54) + (<==? .CHAR > 55) + (<==? .CHAR > 56)>> + +TEXT.FILE"> + +> + + + + + + + % %>> + +> + +> + +> + +> + + >> + 0 0 >> + + + + ) + (T + )> + ; "Clear written bits for appropriate quadrants" + ) RT TOP (CQ 3)) + + > + ) + (<==? .CQ 1> + + ) + (<==? .CQ 2> + + >) + (T + > + >)> + 255> + 1> 255> + .TOP>> + + *77*>> + > > + )>> + > > + )>> + > + > 0> )>> + )> + <+ .QN 1>>> + <+ <* .QN 2> 1>>> + > + ; "e.g., q0 makes 1/4 screen's worth of chars; 1/4 of those + (1/16 of total) will be good; + q1 is 1/2 & 3/16; + q2 is 3/4 & 5/16; + q3 is 1 and 7/16. q0 good chars are confined to q0; q1 to + q0&q1, etc. Further, a bad char may not overwrite an existing + good char, but q0 clears all good bits; q1 all but q0; q2 all + but q0 & q1; etc" + > 0>> + )> + > 0>> + )> + + > + )>> + <>> + +> + + )> + >> + > >> + >> + > >> + > + .X .Y>)>> + +> + > *300*>> + + > + ; "Q2 can write on stuff dumped by the Q3 and Q4 progs, but + not Q1 or Q2..." + <>) + (.SET? + > + ) + (T T)>> + +> + + + 1>>> 1>> + )> + >> + > + >> 1>> + > + > + > + > + )) + ) + (>> + + + ; "Start at virtual top left (this is actual char + addr last written in this mode, so OK to add + 1 below" + >>> + 255> + )> + >> + 255> + )> + > + >)> + > + >)> + ) + (> > + ; "End of line, so go to next" + > > + ; "End of quadrant, so go to next" + + .Y> + > + > .QN> + )> + > + > + > + ; "255 means never touched, so make sure we + get 0" + > + 255> + )> + >> + 255> + ) + (> + >)> + > + ) + (T + )> + >)>> + >) + (T + + + .Y>)> + )>>>> + + + +> + +) SW) + > + >> + + <- ,FIELD-DATA-OFFSET 1>>> + > ,COMPUTER-WIDTH> + + ) + (T + >)>)> + >>> + >>>>)>)> + + 1>>) + (T + )>> + +> + ) + ( 1>>>) + ( 27>>>) + ( 57>>>) + (ELSE >>)> + .N> + + + + > diff --git a/nairport.zil b/nairport.zil new file mode 100644 index 0000000..944c4b8 --- /dev/null +++ b/nairport.zil @@ -0,0 +1,2330 @@ +"AIRPORT for BUREAUCRACY: Copyright 1987 Infocom, Inc. All rights reserved." + + + + + + + + + + + +> + + T) + ( + T) + (T + <>)>> + + + +> + +)) + + + ,FATAL-VALUE) + ( + + + T) + (T <>)>) + ( + <>) + ( + ,PERIOD> + T) + ( + ,PERIOD> + T) + ( + + T) + (T + <>)>> + + + + + + + T> + +"IMPORTANT: The word AIRLINE must be the first non-specific airline synonym!" + +> + +> + +> + +> + +> + + + + + + + + + +>> + >) + (T + )>> + +)) + + > + .MAN>)> + > + 2>>> + >)> + > + 2>>> + >)> + > + + > + ) STR) + > + > + >> + + ) + ( + + ) + (T + )> + > + + <>) + (T + > + + <==? .NAM >> + + <==? .ADJ > + <==? .ADJ >> + + )>)> + > <- ,PSAIR-LEN 1>> + + > + )> + >>> + .OBJ)>> + + + + + + + + + + + + + + + + + + + + > + +> + + T) + ( + <>) + ( + + T) + ( + ; "See if we're at the entrance for the airline referred + to..." + >> + > + ) + (T + )>) + (T + )> + T) + (T + <>)>> + + + + + + T) + ( + <>) + ( + + + T) + ( + + T) + (T + <>)>> + +) "AUX" TBL) + + )> + > + " and " + " to the north, " " and " + " to the east, and " " and " + " to the west." CR> + T> + + + + + + + ) + ( + + )>)> + + <>) + ( + + + T) + ( + + + )> + + T) + ( + + T) + (T + <>)>> + + + + + <>) + ( + + + T) + ( + + + T) + ( + + ) + (T + )> + T) + ( + + ) + (T + )> + T) + ( + + ) + ( + ) + (T + )> + T) + ( + + ) + ( + ) + (T + )> + T) + ( + + ) + ( + ) + (T + + )> + T) + ( + + ) + (T + )> + T) + (T + <>)>> + + + +)) + + + > + + >) + (T + )> + T) + ( + <>) + ( + + + ) + (T + )> + T) + ( + > + + T) + (T + <>)>) + ( + > + + > + + ) + (T + )> + )> + + + + + ) + (T + )> + T) + ( + + ) + (T + )> + T) + ( + + ) + (T + )> + T) + ( + >> + + + T) + ( + + T) + ( + + T) + (T + <>)>> + +> + + + > + + + )> + T> + + + + + + + +> + + .X) + ( + <>) + ( + + + ) + (T + )> + + T) + ( + + + T) + (> + + ) + (T + )> + T) + (> + <>) + (T + + <>)>) + ( + + + T) + ( + + T) + (> + + + T) + (T <>)>) + (> + <>) + (T + + T)>) + ( + + + + + + ,CONNECTED> + + > + )> + T) + (T + + T)>) + (T + <>)>> + + + ) + ( + )> + <>> + +> + <>) + ( + + T) + ( + + T) + (T + + + + + > + >) + (T + + > + >)> + + > + )> + + + >) + (T + >)> + > + .X)>> + + + T> + + + + T) + ( + + + ) + (T + + )> + T) + ( + + + T) + (T + + + + + + + + + + > + + T)>> + +> + +> + + + + + + + T) + (T + <>)>) + ( + + T) + ( + > + ,FATAL-VALUE) + (T + <>)>> + + + + + +> + + " check-in desk">> + + + <>) + ( + + T) + (T + <>)>> + + + + + <>) + ( + >> + + T) + (T + <>)>> + + + + + <>) + ( + >> + + T) + (T + <>)>> + + + + + <>) + ( + + T) + ( + + ) + (T + )> + T) + ( + + ) + (T + )> + T) + ( + + ) + (T + )> + T) + ( + T) + (T + <>)>> + + + + + + T) + (T + <>)>) + ( + + T) + ( + + T) + ( + + T) + (T + <>)>> + + + +)) + + + T) + ( + <>) + ( + <>) + ( + + T) + (T + <>)>> + + + + + + ,FATAL-VALUE) + (T + + T)>> + + + + + + + T) + (T + <>)>) + ( + + T) + ( + + T) + (T + <>)>> + + + + + + + + + ,FATAL-VALUE) + ( + <>) + ( + + T) + ( + + T) + ( + > + ,FATAL-VALUE) + (T + <>)>> + +"*** AIRPORT ***" + + + +)) + + + + T) + (T + <>)>> + +) "AUX" LEN TBL) + + > + > + ) (LST2 <>) AIR) + ,HERE> + > + ; "Found an airline for this entrance" + + + ) + (T + )>) + (T + )>)> + >> + > ,PSAIR-LEN> + ) + (T + )>)> + )>> + + + ) + (T + )> + T> + + + +)) + + + + T) + (T + <>)>> + + + +)) + + + + T) + (T + <>)>> + + + +)) + + + + T) + (T + <>)>> + + + +)) + + + + T) + (T + <>)>> + + + +)) + + + + T) + (T + <>)>> + + + +)) + + + + + T) + (T + <>)>> + + "Omnia Gallia" ENT-B + ,PSAIR-GALLIA + <> "Interflug" ENT-B ,PSAIR-RANDOM + <> "Nordair" ENT-A ,PSAIR-RANDOM-NV + "Trans World" ENT-A + ,PSAIR-RANDOM-NV + "Air Caribe" ENT-A + ,PSAIR-RANDOM + <> "American" ENT-C ,PSAIR-RANDOM + "Air Toronto" ENT-C + ,PSAIR-RANDOM + "Guyana Airways" ENT-C + ,PSAIR-RANDOM-NV + "Cathay Pacific" ENT-C + ,PSAIR-RANDOM-NV + "Air Guadeloupe" ENT-B + ,PSAIR-RANDOM + "Air Zalagasa" ENT-A + ,PSAIR-ZALAGASA + "British Airways" ENT-D + ,PSAIR-RANDOM-NV + "Aer Lingus" ENT-D + ,PSAIR-RANDOM + "Nocturnal Aviation" + ENT-G ,PSAIR-RANDOM-NV + "Air Canada" ENT-D + ,PSAIR-RANDOM + <> "Alitalia" ENT-E ,PSAIR-RANDOM + <> "Icelandair" ENT-E ,PSAIR-RANDOM + <> "Lufthansa" ENT-F ,PSAIR-RANDOM-NV + <> "Braniff" ENT-E ,PSAIR-RANDOM-NV + <> "Delta" ENT-F ,PSAIR-RANDOM-NV + "Air India" ENT-F ,PSAIR-RANDOM + <> "Aeroflot" ENT-F ,PSAIR-RANDOM + <> "Continental" ENT-D ,PSAIR-RANDOM-NV + <> "Swissair" ENT-G ,PSAIR-RANDOM-NV + <> "Eastern" ENT-B ,PSAIR-RANDOM + <> "Singapore" ENT-D ,PSAIR-RANDOM-NV + <> "Qantas" ENT-G ,PSAIR-RANDOM-NV + "El Al" ENT-G ,PSAIR-RANDOM>> + +> + + + + "Room you entered concourse from." + + + + ,AIR-A> + + + ,ENTERED-FROM> + +> + + + <>> + + + + + ) + (T + > + >> + > 0> + )>>)> + <>> + +> + )> + >>> + > + .TBL> + +> + ,PSAIR-GALLIA> + > + ,PSAIR-ZALAGASA> + >>>) + (T + )>> + ,PSAIR-RANDOM-NV> + ; "Omnia Gallia, Air Zalagasa, and anything that's + PSAIR-RANDOM as opposed to PSAIR-RANDOM-NV" + )> + + ; "Copy airline's synonyms into AIRLINE-DESK object." + + + ; "Number of synonyms." + > + > + )> + > .LEN> + )>> + + ; "Copy airline's adjectives into AIRLINE-DESK and AIRCLERK." + + + ; "Number of adjectives." + > + > + + > + + )> + > .LEN> + > + )>> + + ; "Select sex of AIRCLERK randomly." + + > + + + + + ) + (T + + + + )> + <>> + +) + (ACTION AIR-A-F) + (THINGS PSEUDO-VEC)> + +)) + + + + T) + ( + + + <>) + ( + + <>) + (T + <>)>> + +) + (GLOBAL AIRPORT-CROWD SKYCAPS SIGNS AIRPORT-MUSIC) + (ACTION AIR-B-F) + (THINGS PSEUDO-VEC)> + + " Desk"> + T> + +)) + + + + ) + (T + )> + + + ) + (> + )> + + + T) + ( + + + ,PSAIR-GALLIA> + > + + ) + (T + + )> + <>) + ( + ,PSAIR-GALLIA> + > + + + ) + (T + )> + <>) + (T + <>)>> + +) + (ACTION AIR-C-F) + (THINGS PSEUDO-VEC)> + +)) + + + + T) + ( + + + <>) + ( + + <>) + (T + <>)>> + +> + + ,PILLAR-A> + +) + (GLOBAL AIRPORT-CROWD PILLAR PSIGNS AIRPORT-MUSIC) + (ACTION PILLAR-A-F) + (LDESC "You're halfway up the pillar.") + (THINGS PSEUDO-VEC)> + + + ,PILLAR-B> + + + > + + ,AIR-C) + (T + + + <>)>> + +)) + + > + + + T) + (T + <>)>) + (T + <>)>> + + + + + ,PILLAR-A> + +)) + + + + + T) + ( + > + + + T) + (T + <>)>) + (T + <>)>> + + + + + ,DUCT-B> + +)) + + + + + T) + ( + + + <>) + (T + <>)>> + + + + + ,DUCT-C> + + + ,DUCT-A> + + + + + ,DUCT-D> + + + ,DUCT-B> + + + + + ,DUCT-C> + +)) + + + + + T) + (T + <>)>> + + + +)) + + + + + T) + ( + + + )> + + > + + + + + )> + + + + + )> + + + ) + (T + )> + + T) + (T + + + )> + + + T)>) + ( + + <>) + (T + <>)>> + + + + +"*** FATSO ***" + + + +)) + + + T) + ( + <>) + ( + + + T) + (T + <>)>) + ( + + ,FATAL-VALUE) + ( + + T) + ( + + T) + (T + <>)>> + +> + +"*** AIRLINE CLERK ***" + + + + " clerk"> + T> + +)) + + + + ) + (T + )> + T) + ( + + + ) + ( + + + ) + ( + + )>) + ( + + + ) + ( + + )>)> + + + + + ,FATAL-VALUE) + ( + <>) + ( + + + T) + (T + + T)>) + (T + <>)>) + ( + + ,FATAL-VALUE) + (T + <>)>) + ( + > + )> + T) + ( + > + )> + T) + (T + <>)>> + + + + + + T) + (T + <>)>> + +)) + + )> + + + + + T> + +)) + + )> + + + + + T> + +)) + + )> + + + T> + + +"*** CONTROLLERS ***" + + + +) "AUX" (FLIGHT <>)) + + + )> + + + ,W?FLIGHT ,W?OMNIA + ,W?GALLIA>>> + )> + + + + > + + > + + + > + + + >> + + ) + ( + + > + + ) + ( + + > + + ) + ( + + + ) + ( + + )>) + ( + + + )>)> + + ,FATAL-VALUE) + ( + .CONT>) + ( + + + ) + ( + + )> + .CONT>) + ( + <>) + ( + + T) + ( + + T) + ( + + T) + (T + <>)>> + +)) + + )> + + T> + +)) + + )> + + + + T> + + + )> + T> + + + )> + T> + + + + > + + + ) + (T + )> + <>) + (T + + T)>> + +"*** FLIGHT 42 ***" + + + + > + ,P-IT-OBJECT) + ( + ,FLIGHT-42) + (T + + ,AIRLINE)>> + + + + +)) + + + > + + ) + ( + > + + ) + ( + > + + + > + + + >> + + ) + ( + > + + + ) + ( + + )>)> + + ,FATAL-VALUE) + ( + + T) + ( + + + > + ) + (T + )> + T) + ( + + T) + ( + > + ) + ( + ) + (T + + + ) + (T + )>)> + T) + ( + + T) + ( + + + T) + ( + <>) + ( + + T) + ( + + T) + (T + + T)>) + (T + + T)>) + ( + > + + >> + + T) + ( + + T) + ( + + T) + (T + <>)>> + +> + + + > + + + ) + (T + )> + T) + (T + )>> + +> + + )> + T> + +> + + )> + T> + +"*** AIRPORT CROWD ***" + + + +)) + + <>) + ( + + + T) + (T + <>)>) + ( + + ) + ( + ) + (T + )> + ,FATAL-VALUE) + ( + + ) + ( + ) + (T + )> + T) + ( + + ) + ( + ) + (T + )> + T) + (T + <>)>> + +> + + +"Airport interrupt stuff" + TERM-TABLE> + 'JUST-HEARD? <> + 'JUST-PAGED? <> + 'TERMINAL-MUZAK 0 + 'PATRONS + >> + + + > + .IT>) + ( + >) + ( + + + )> + + + + + + )> + + + )> + > +" please pick up the white courtesy phone.\"" CR> + ) + ( + > + > ,NUMBER-OF-TUNES> + )> + + + )> + + + + + )> + + ) + (T + .IT>)>> + + + + + +> + +> + + .DESK>) + ( + )> + + + + + + ) + ( + + + )> + + + ) + ( + + ) + ( + + + ) + (T + )> + + + + + ) + ( + + )> + + > + + + > + + + + + + + + + > + + + > + +> + + + ) + ( + + )> + + + > + +> + + .DESK>) + ( + )> + + + + ) + ( + + )> + + > + + + ", "> + + > + + + + > + + + + + > + +> + + + + )> + + + + ) + (T + )> + > + + + + + > + >)> + > + + + .CONSOLE>) + ( + )> + + + + ) + ( + + )> + + + )> + + + + ) + ( + + )> + + + )> + + + + + + )> + + )> + + + + )> + + + )> + + + > + + + + > + diff --git a/njet.zil b/njet.zil new file mode 100644 index 0000000..a1c71dc --- /dev/null +++ b/njet.zil @@ -0,0 +1,1028 @@ +"NJET for BUREAUCRACY: Copyright 1987 Infocom, Inc. All rights reserved." + + + + + +> + + T) + ( + T) + (T + <>)>> + + + + + <>) + ( + + T) + ( + + ) + (T + + + + + + ) + (T + )> + + + ) + (T + + )> + )> + T) + ( + + T) + ( + > + + T) + ( + + T) + (T + <>)>> + + + +)) + + + T) + ( + <>) + ( + + T) + ( + <>) + ( + + + ) + (T + )> + T) + (T + <>)>> + + + + + + + T) + (T + <>)>) + ( + > + + T) + ( + + T) + (T + <>)>> + + + + + + + > + ) + (T + + >)> + T) + ( + + > + T) + ( + + T) + ( + 6> + ) + (T + )> + T) + (T <>)>) + ( + + T) + ( + > + T) + ( + + + + T) + ( + + T) + ( + > + + T) + ( + + T) + (T + <>)>> + + + ) + ( + )> + ,SEAT> + + + + + <>) + ( + + T) + (T + <>)>> + + + + + <>) + ( + + T) + (T + <>)>> + + + + + + + <>) + ( + > + + + )> + <>) + ( + + + ) + (T + )> + + T) + ( + + <>) + (> + <>) + (T + + + + + + >)> + + T)>) + ( + + T) + ( + + T) + (T + <>)>> + +> + ) + (T + + )> + T> + + + + T) + (> + + T) + (T + + + > + )> + + + T)>> + + + + + + + T) + (T + <>)>) + ( + + + + T) + ( + + T) + ( + + T) + (T + <>)>> + + + + + + + T) + (T + <>)>) + ( + + T) + (T + <>)>> + + + + + + > + ) + (T + )> + T) + ( + > + + + ) + (T + )> + T) + ( + + T) + (T + <>)>) + ( + + ) + (T + )> + T) + (T <>)>> + + + + + +) X) + + )> + + + > + > + T) + ( + + T) + (T + <>)>) + ( + + + ) + (T + )> + + + )> + + T) + ( + + + + ) + (T + )> + T) + (T + + + + )> + + + )> + + T)>) + ( + > + ) + (T + + )> + T) + (T + <>)>> + + + + + + + T) + (T + <>)>) + ( + + T) + ( + + ) + (T + )> + T) + ( + + ) + (T + + )> + T) + ( + > + ) + (T + + )>) + (T + <>)>> + + + + + + T) + ( + + + + ) + ( + + )> + + ) + ( + + + )> + + + + ) + ( + > + > + + )> + + + )>)> + + + + )> + .CHUTE>) + ( + + + ) + ( + + )> + + + )> + + T) + ( + + T) + ( + + + T) + ( + + T) + ( + + ) + (T + )> + T) + (T <>)>> + + + + + ) + (T + + + ) + (T + + + + + + )>)> + T> + + + + ) + ( + + + )> + + + T> + + + + + <>) + ( + + + )> + + T) + ( + + T) + (T + <>)>> + + + + + <>) + ( + + T) + ( + + T) + ( + + T) + (T + <>)>> + + + + + <>) + ( + + T) + ( + + T) + ( + + T) + ( + + + T) + ( + + T) + ( + + T) + ( + + T) + (T + <>)>> + + + + + + + + + T> + + + + T> + + +"*** AIRPLANE ***" + + + +)) + + + + + )> + + T) + (T + <>)>> + + + + + ) + (T + )> + T> + +)) + + + + )> + + T) + (T + <>)>> + + + + + T> + +)) + + + + ) + (T + )> + + T) + (T + <>)>> + + + + > + T) + (T + <>)>> + + + +)) + + + T) + (T + <>)>> + + + +)) + + + T) + (T + <>)>> + + +"*** STEWARDESS ***" + + + + + +)) + + + T) + ( + + + ) + ( + + + ) + ( + + )>) + ( + + + ) + ( + + )>)> + + ,FATAL-VALUE) + ( + <>) + ( + + + T) + (T + <>)>) + ( + <>) + ( + + T) + ( + + T) + ( + + T) + (T + <>)>> + +)) + + )> + + + T) + ( + + + )> + + > + + ) + (T + )> + + + T) + (> + + + ) + (T + )> + + + T) + (T + + + ) + (T + )> + + + + + ) + (T + )> + + )>) + (T + )> + T> + +> + +)) + + )> + + ) + ( + ) + (T + )> + T> + +)) + + )> + + ) + (T + )> + T> + +"*** PURSER ***" + + + +)) + + + T) + ( + <>) + ( + + + T) + (T + <>)>) + ( + + + ,FATAL-VALUE) + ( + + T) + (T + <>)>> diff --git a/nmaze-program.zil b/nmaze-program.zil new file mode 100644 index 0000000..bc31f33 --- /dev/null +++ b/nmaze-program.zil @@ -0,0 +1,260 @@ +"MAZE-PROG for BUREAUCRACY: Copyright (C)1987 Infocom, Inc. + All rights reserved." + + + + + +> +> +> +> + 1>> +> + 1>> + 2>> +> + 4>> + 4>> + 4>> + +>>> + +>> + +> + +) N:FIX) + >> + + + ) + (ELSE .CH)>> + +)) + + + + > + > + )> + + >)> + T> + > + + > + >> + + ; + > + > + > .K> + )>> + >) + (ELSE )>>> + .TBL>> + +> +> + + )> + + <+ .J ,COMPUTER-WIDTH 1>) + (ELSE + <+ .J 1>)>> + + <- .I ,COMPUTER-HEIGHT/2 -1>) + (ELSE + <+ .I 1>)> + > <+ .I 1>>>> + > ,COMPUTER-WIDTH> + > + )>> + ,TST2> + +" 0 ==> space, 1...26 ==> A...Z, 27...53 ==> a...z, + 54 ==> . + 55 ==> , + 56 ==> ; + 57...63 ==> 0...6 +" + +> + 0) + (> + >> + <- .CHAR -1>) + (> + >> + <- .CHAR -27>) + (> + >> + <- .CHAR -57>) + (<==? .CHAR > 54) + (<==? .CHAR > 55) + (<==? .CHAR > 56)>> + +TEXT.FILE"> + +> + >>> + + + + + + +; +
+
+
>> + + % %>> + +> + +> + +> + +> + + + + > + + *77*>> + > ,COMPUTER-HEIGHT/2> + )>> + > .RANGE> )>> + + > 0> )> + 1>> + > + 1>> + + > + .MASK> + > + > + + )> + + > + )> + >)>) + (ELSE + > + > + )>> + > + + + <+ .H ,COMPUTER-HEIGHT/2>>) + (ELSE + )> + > 0> + + > 0> + )> + + 1>> + + + ,COMPUTER-HEIGHT/2-1>>) + (ELSE + + 1>>)>) + (<==? .QN 0> + 1>> + + ,COMPUTER-HEIGHT/2-1>>) + (ELSE + + ,COMPUTER-WIDTH/2-1>> + + ,COMPUTER-HEIGHT/2-1>>)> + > 0> + )> + > + > + )>> + <>> + + + +> + +) SW) + > + >> + + <- ,FIELD-DATA-OFFSET 1>>> + > ,COMPUTER-WIDTH> + + ) + (T + >)>)> + >>> + >>>>)>)> + + 1>>) + (T + )>> + +> + ) + ( 1>>>) + ( 27>>>) + ( 57>>>) + (ELSE >>)> + .N> + +;) + (QL:FIX ) + (QR:FIX ) + (QT:FIX ) + (QB:FIX )) + + > + T) + (ELSE <>)>> diff --git a/nnairport.zil b/nnairport.zil new file mode 100644 index 0000000..c5596e0 --- /dev/null +++ b/nnairport.zil @@ -0,0 +1,2815 @@ +"AIRPORT for BUREAUCRACY: Copyright 1987 Infocom, Inc. All rights reserved." + +"Current airport theory: There are N (,AIRPORT-ROOMS) parallel sets of rooms: +1 through N-1 are random airlines, N is Air Zalagasa. Every entrance except +N has a sign for Air Zalagasa; the first entrance you arrive at has a sign +for Omnia Gallia, which is accurate. +The Omnia Gallia desk is just being closed when you arrive at it; you are +directed to Air Zalagasa. Following the signs will lead you in a circle. +You have to go outside and find the entrance that isn't Air Zalagasa, where +you will find the AZ desk. +You can either exchange your ticket for a direct flight, which costs too much, +or you can get a flight through Zalagasa for the price of the ticket. Once +the ticket has been exchanged, you realise that the flight you've been hearing +about is the one you're on, and it's gonzo. The ticket agent refers you to +Omnia Gallia, since it's really their ticket. + +1) You can't exchange your ticket until Omnia Gallia has been sold, which +happens when you see their desk. +2) You can't ever arrive at your gate: when you exchange tickets, you are +informed that the flight has already left the gate, so there's no gate to go +to. This happens even when the flight is recalled. +3) You must therefore recall the flight via the controllers, and arrive at +the gate on the shoulders of the cheering crowd. If you haven't exchanged +your ticket, you won't be allowed on the airplane, and will probably have +a stroke. +" + + + + + +) + (AT-ZALAGASA? BYTE 0) + (WAITING-FOR-CASH? BYTE 0) + (TICKET-SCREW? BYTE 0) + (PILLAR-MENTIONED? BYTE <>) + (DUCT-NUMBER BYTE 0) + (FLIGHT-RECALLED? BYTE <>) + (FLIGHT-GONE? BYTE <>) + (TOWER-SCRIPT BYTE 4) + (SPEAKER-DEAD? BYTE <>) + (MUSIC-DEAD? BYTE <>) + (AOS-BP? BYTE <>) + (CHANGE-DESK? BYTE <>)> + +> +;> + +; "So courtesy phone will be known, but never found" + + + + + + +> + + + ) + (T + )>) + (T + )> + T) + ( + > + ) + ( + T) + (T + <>)>> + + + +> + +)) + + + ,FATAL-VALUE) + ( + + + T) + (T <>)>) + ( + <>) + ( + + T) + ( + + T) + ( + + T) + (T + <>)>> + +"*** AIRPORT CROWD ***" + + + +)) + + <>) + ( + + + T) + (T + <>)>) + ( + > + ) + ( + ) + (T + )> + ,FATAL-VALUE) + ( + > + ) + ( + ) + (T + )> + T) + ( + > + ) + ( + ) + (T + )> + T) + ( + + + ) + (T + )>)>) + (T + <>)>> + +> + +) "AUX" N) + >> + + 2>> + ) + (T + )> + + + > ,AIRPORT-ROOMS> + )>> + + + + )> + + ; "Is loser carrying address book?" + >)> + + + ; + + + + T) + (T + ,AIRPORT-ENTRANCE)>> + +)) + + + .LB>) + ( + ; "Still carrying it?" + + + .LB>)> + + + + + ) + (> + ) + (T )> + + + ) + (T + )>) + (> + + ) + (T )> + ) + (T + )> + )> + + T> + + + + + + ,AIRPORT-ROOMS> + ,LANDF) + (T + + <>)>> + +> 1> )> + >> + .BIT> + +> .FACT>> + > + .BIT>> + ;<0? >> + + .BIT>>) + (T + )> + T> + + ,AIRPORT-ROOMS> + + <>) + (T + )>> + + + > + ,ZALAGASA-CONCOURSE) + (T + + ,AIRPORT-CONCOURSE)>> + +)) + + + ) + (T + >> + + ,AIRPORT-ENTRANCE)>> + +)) + + > + ) + (T + >> + + ,AIRPORT-ENTRANCE)>> + +)) + + ) + (<==? .CONTEXT ,M-LOOK> + + > + + ,AIRPORT-ROOMS> + )> + + T) + (T <>)>> + +;"Theory of airlines: there are 32 airlines known about. Of these, two + are special: Omnia Gallia and Air Zalagasa. Each entrance except + AIR-ZALAGASA-ENTRANCE has a pointer to AZ and some other airlines. + At that location in the concourse, there is some desk, neither AZ nor + any of the other airlines mentioned on the sign. The exception is that + OG's desk, which is closed, is always inside the entrance marked OG. + Whenever you visit an entrance, one of the signs is being changed from + X to Y." + +> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ,OMNIA-ID + ,ZALAGASA-ID + ,NOCTURNAL-ID + ,TRANS-GALAXY-ID + + ,TRANS-GALAXY-ID + ,ALLEGHENY-ID + ,FRONTLINE-ID + ,BOXCAR-ID + ,UNTIED-ID + ,NORTHWEST-ID + ,NORTHWEST-ID + ,NORTHWEST-ID + ,MASSIVE-ID + <> ,MASSIVE-ID + ,BIG-SKY-ID + ,PAN-UNIVERSAL-ID + ,QUANTUM-ID + ,GAMMA-ID + ,DISTRESS-ID + ,DISTRESS-ID + ,NEWZORK-ID + ,NEWZORK-ID + ,BRITISH-ID + ,FROG-ID + ,WORST-ID + ,WORSTED-ID + ,MOOSEHEAD-ID + ,FOSTER-ID + ,KIRIN-ID + ,LAPHROIG-ID + ,AMERICA-ID + ,TICKOFF-ID + <> ,KIWI-ID + ,KIWI-ID + <> ,AEROTICA-ID + + ,CONTINENTAL-ID + + ,GENERAL-ID + <> ,FRED-ID + <> ,FRED-ID + <> ,FRED-ID + ,BOING-ID + <> ,BOING-ID>> + + 0>> + + 2>) + (RES 0)) + > .RES>> + > 0> + )>> + .RES> + +) "AUX" (MSK 1) (N 16)) + + ;>> + >> + )>) + (T + > + ;<0? > + )>)> + > 1> + )> + >> + .MSK> + +>> + 0) + (T + *77777*>> + + >> )> + > 16> )> + >> + .N)>> + +) + W1 W2 U1 U2 OLD NEW) + > + > + > + >> + ; "Get all bits used so far." + > + 3>> + <0? .W2>> + ; "Haven't visited this room yet" + > + >)> + > + >)> + + > + > + > + >)> + )> + + > + > + > + >)> + )>> + + .W2>) + (.CHANGE? + + + + + > + -1>> + >>> + 16>> + " to " + 16>>>) + (T + > + -1>> + >>> + > + " to " + >>)> + + + .W2>) + (T + + )>> + + + ;>> + > CR>)> + > 15> )> + >>> + + + >) + (T + )>> + + + + + +; "Move around the concourse. Always skip the zalagasa concourse, no + matter where it is." +)) + >> + + > + ) + ( + + ) + (T + + ,AIRPORT-CONCOURSE)>> + +)) + >> + + > + ) + (<==? .N 0> + > + ) + (T + + ,AIRPORT-CONCOURSE)>> + +)) + + > + )> + > + > + ) + ( + <==? + >> + )>) + (<==? .CONTEXT ,M-ENTERED> + > + > + )>) + (<==? .CONTEXT ,M-LOOK> + > "; overhead are signs pointing to various +airlines:" CR> + + ) + (T <>)>> + +> + >> ": " + CR> + > 10> )>>> + +) + (NN <* <- .RN 1> 2>) WD + (FACT 0) (CS ,CURRENT-SIGNS) SOURCE TT + DEST) + > + + + + ) + (<==? .RN + > + ; "Omnia gallia desk is always in right place" + + ) + (T + + ; "Pick one of the neighboring entrances" + + > 0> + 2>>)>) + (> <* ,AIRPORT-ROOMS 2>> + )> + + >) + (T + >> + )> + ; "Pick a random airline that's listed on one of the neighboring + entrances. Air Zalagasa & Omnia Gallia will never be used." + > .FACT>>)> + ; "This will always be positive" + + ; "Zero vector of current signs" + + > 9> )>> + ; "Put air zalagasa in somewhere" + > + > + > + + ; "If at zalagasa, use omnia gallia instead." + + > + "west">) + (T + "east">)>) + (T + + > + "west">) + (T + "east">)>)> + > + .SOURCE + >> + ; "Find the airline ID" + ) + (> .SOURCE + >> + ; "Either way" + )> + > + > + + > + > + + + + + ) + (T + + + + )> + ; "Now pick a set of random airlines that are mentioned outside." + + > + )> + > 0> + > + )> + > + > + )> + )) + >> + ) + (T + >>> + )> + >>> + .WD> + ; "Don't include the airline whose desk is here..." + >) + (T )> + )>> + + > + .RN> "east") + (T "west")>> + > + >>> + +) "AUX" (LEN 2)) + >>>> + + + )>)> + )>>> + +> + + + + + + + +> + > + + + > + + ,ACTUAL-DESK) + ( + ,ACTUAL-ZDESK)>)>> + +> " desk">> + + + + ) + (T <>)>) + ( + + T) + ( + + + ) + ( + ) + ( + ) + (T + )> + T) + ( + + ) + ( + ) + ( + ) + (T + )> + T)>) + ( + ,OMNIA-ID> + >> + ) + ( + ,OMNIA-ID> + > + ) + (T + )>) + (T + <>)>> + +; "Room function" +) "AUX" SOURCE DEST LEN DEST2 TT) + + + ,OMNIA-ID> + + )> + > + ) + (T + )> + + > + ) + (> + )> + ) + (<==? .CONTEXT ,M-EXIT> + + + + > + + + 2>> + )> + <>) + (<==? .CONTEXT ,M-ENTERING> + + )> + ,OMNIA-ID> + + > + + + + <> <> 13>)> + .ADF>) + (<==? ,HERE ,ZALAGASA-DESK> + > + >> + ) + ( 1> + )> + ) + (T + + )> + <>) + (T <>)>> + + + + + > + ) + (T <>)>> + +)) + > + > + > + + > 1> )> + >>> + +> + + <>) + (> + > + .IT>) + (> + >) + ( + + )> + + + + )> + + )> + + ) + ( + + )> + + + + + >> + )> + + ) + (T <>)>> + +> + >> + + > + .DESK>)> + )> + + + + T) + (<==? .N 3> + + T) + (<==? .N 4> + + T)>> + + + > + > ", "> + + > + + + + > + + + + + > + +> + + + ) + (T + )> + + + ) + (T + )> + > + + + +> " clerk"> + T> + +)) + + + > + ) + (T + )> + T) + ( + + + + ) + ( + + ) + ( + + + ) + ( + + )>) + ( + + + ) + ( + + )>)> + + + + + ,FATAL-VALUE) + ( + <>) + ( + + + T) + (T + + + T)>) + (T + <>)>) + (T + + + + ,FATAL-VALUE) + (T + <>)>) + ( + > + )> + T) + ( + > + )> + T) + (T + <>)>)>> + +> + + + + T) + (T + <>)>> + +)) + + )> + + > + + + + + ) + (T + + )>) + (<==? .OBJ ,AIRLINE> + + ,OMNIA-ID> + <==? ,ZALAGASA-ID>> + + ) + (<==? + > + + ) + (T + + + )>) + (> + <==? .OBJ ,THE-FLIGHT>> + + )> + + + + + T> + +)) + + )> + > + > + + )> + + + + + T> + +)) + + )> + > + >> + + + + + ) + ( + > + + + + + + + ) + (T + + )>) + (> + > + + ) + (<==? .OBJ ,TICKET> + + + ) + (<==? .OBJ ,ZTICKET> + + + ) + (T + )> + + T> + + + + + + T) + ( + <>) + ( + + + >) + (T + )>) + ( + + T) + (T <>)>> + + +> -1> + >) + (T + )>> + +)) + + > + .MAN>)> + + <==? ,P-NUMBER 42>> + )> + > + 2>>> + >)> + > + 2>>> + >)> + > + + + > + > 30> + "?" CR> + )> + > + + .OBJ) + (T + > + + <==? .NAM >> + + <==? .ADJ > + <==? .ADJ >> + ; "Make sure this is always positive or -1" + > 0> + >)> + + )>)> + > 2> + + > + )> + >> + .OBJ)>> + +> + + + +> + > + + T) + ( + <>) + ( + + )> + T) + ( + ; "See if we're at the entrance for the airline referred + to..." + > + + ,ACT?ENTER>) + ( + > + > + + >> + >) + (T + + 1>>>)> + >>> + + ;>> + ) + (T + )>) + ( + > + + T) + (T + )>) + ( + > + "east"> + ) + (T + )>) + (T + )>) + (T + ,ACT?ENTER>)> + T) + (T + <>)>> + + + > + + +"ZALAGASA SECTION" + +; "Uses same routines as normal concourse" + + +) "AUX" VAL) + > + > T) + (> + + >> + + >>> + + )>)> + .VAL> + + + + + +> + >> + + > + .DESK>)> + + > + )> + + > + + > + + 3> + ) + (T + )> + + + + )> + + + + + + + ) + (<==? .N 3> + + + )> + + ) + (<==? .N 4> + ) + (<==? .N 5> + + + ) + (T + )> + + + + + ) + (<==? .N 6> + > + + .DESK>) + (T + )> + )>) + (T + )> + T> + + + > + + + > + + + > + +> + >>> + + + > + + + + )> + > + + + + + + + + + ) + (T + + + + + T)>) + (<==? .OBJ ,ZTICKET> + + + + + + + + )> + + + + T)>> + +>> + + + + + <>) + ( + + + T) + ( + + + T) + ( + + ) + (T + )> + T) + ( + + ) + (T + )> + T) + ( + + ) + ( + ) + (T + )> + T) + ( + + ) + ( + ) + (T + )> + T) + ( + + ) + ( + ) + (T + + )> + T) + ( + + ) + (T + )> + T) + (T + <>)>> + + + +)) + + > + + + T) + (T + <>)>) + (T + <>)>> + + + + ,PILLAR-B) + (<==? ,HERE ,ZALAGASA-CONCOURSE> + + ,PILLAR-A)>> + + + + ,PILLAR-A) + (T + + > + + ,ZALAGASA-CONCOURSE) + (T + + + + ) + (T + )> + + + >> + + + <>) + (> + + + <>) + (T + + ; "you dead, Jack" + + <>)>)>)>> + + + +)) + + + + + T) + ( + > + + + T) + (T + <>)>) + (T + <>)>> + + + + + +)) + + <>) + ( + + + ) + (T + )> + T) + ( + > + + T) + (T + <>)>) + ( + > + + > + + >) + (T + )> + )> + + + + + + ) + (T + )> + T) + ( + + ) + (T + )>)> + T) + ( + > + ) + (T + )>) + ( + > + ) + (T + )> + T) + ( + >> + + + T) + ( + + T) + ( + + T) + (T + <>)>> + +)) + + + > + + >) + (T + )> + T) + ( + <>) + ( + > + ) + ( + > + + > + + >) + (T + )> + )> + T) + ( + ) + ( + >> + + + T) + (T + <>)>> + +> + + + + + + )> + T> + + + + + + + +> + + .X) + ( + <>) + ( + + + ) + (T + )> + + T) + ( + + + T) + (> + > + ) + (T + )> + T) + (> + <>) + (T + + T)>) + ( + + + T) + ( + + T) + (> + > + + T) + (T <>)>) + (> + <>) + (T + + T)>) + ( + + + + + + ,CONNECTED> + + + )> + T) + (T + + T)>) + (T + <>)>> + + + ,P-IT-OBJECT) + ( + ,BWIRE) + (T <>)>> + + + .MW>) + ( + > + + > + + + + ) + (T + + )>)>)> + + <>) + ( + + T) + (T + + T)>> + + + T> + +> + + T) + ( + + + ) + (T + + )> + T) + ( + + + T) + (T + + + + + + + + + + + T)>> + +> + +> + + + + + <>) + ( + >> + + T) + ( + + ) + ( + <==? 0>> + ) + (T + )>) + ( + + + <==? 0>>> + + > + + + <>) + (T <>)>) + (T + )>) + (T <>)>> + + + + + <>) + ( + > + ) + (T + )> + T) + ( + ) + (T + <>)>> + + + +)) + + + <>) + (<==? .DN 2> + ) + (T + )>> + +)) + + ) + (T + + <>)>> + +)) + + ) + (T + + <>)>> + + 1> + ) + (T + + <>)>> + + 1> + ) + (T + )>> + +)) + + + ,TOWER-DUCT) + (T + >> + + ,DUCT)>> + +)) + + >>)> + + > + + + <>) + (T + ,PILLAR-B)>) + (T + + + ,DUCT)>> + + + <==? 1>> T) + (T <>)>> + +) "AUX" (DN )) + + )> + ) + (T )> + <>) + (<==? .CONTEXT ,M-LOOK> + + + + ) + (<==? .DN 2> + ) + (<==? .DN 3> + )>) + ( <>) + ( + <>) + ( + + T) + ( + + ) + ( + ) + (T + )> + T) + ( + + ) + (T + )> + T) + ( + + ) + (T + )> + T) + ( + T) + (T + <>)>> + + + +)) + + + + + T) + (T + <>)>> + +"*** FATSO ***" + + + +)) + + + T) + ( + <>) + ( + + + T) + (T + <>)>) + ( + + ,FATAL-VALUE) + ( + + T) + ( + + T) + (T + <>)>> + +> + + + + + + + + T) + (T + <>)>) + ( + + + + T) + (T + <>)>> + + + +)) + + + + + T) + (<==? .CONTEXT ,M-ENTERING> + + <>) + (<==? .CONTEXT ,M-ENTERED> + + + )> + > + + + + )> + + + + + )> + + + + T) + (T + + + )> + + + T)>) + (<==? .CONTEXT ,M-EXIT> + + + <>) + ( <>) + ( + + T) + ( + T) + (T <>)>) + ( + + + T) + (T T)>) + ( + T) + (T <>)>> + +> + >> + >)> + > + >> + + + .CONSOLE>) + ( + )> + + + + ) + ( + + )> + + + )> + + + + ) + ( + + )> + + + )> + + + + + + )> + + )> + + + + )> + + + )> + + + > + + + + > + + + + + + + T) + (T + <>)>) + ( + + T) + ( + > + ,FATAL-VALUE) + (T + <>)>> + +"*** CONTROLLERS ***" + + + +) "AUX" (FLIGHT <>) + (REQUEST <>)) + + + > + )> + + )> + + + <==? ,P-NUMBER 42> + <> + ,W?FLIGHT ,W?OMNIA ,W?GALLIA>>> + ) + ( + + >> + )> + + + <==? ,P-PRSA-WORD ,W?NO> + > + + ) + ( + >> + + ) + ( + + > + + >>> + + ) + ( + + > + + ) + ( + .REQUEST> + + ) + ( + + + ) + ( + + )>) + ( + + + )>)> + + ,FATAL-VALUE) + ( + .CONT>) + ( + + + ) + ( + + )> + .CONT>) + ( + <>) + ( + + T) + ( + + T) + ( + + T) + (T + <>)>> + +)) + + )> + + T> + +)) + + )> + + + + T> + + + )> + T> + + + )> + T> + + + > + >> + + > + ) + (T + )> + <>) + (T + + T)>> + + + + > + ,P-IT-OBJECT) + ( + ,THE-FLIGHT) + (T + + ,AIRLINE)>> + +)) + + + > + + ) + ( + > + + ) + ( + > + + + > + + + >> + + ) + ( + > + + + ) + ( + + )>)> + + ,FATAL-VALUE) + ( + + + > + ) + ( <>) + (T + )> + T) + ( + + T) + ( + + T) + ( + > + ) + (> + ) + (T + + > + ) + (T + )>)> + T) + ( + + T) + ( + + > + T) + ( + <>) + ( + + T) + ( + + T) + (T + + T)>) + (T + + T)>) + ( + > + + >> + + T) + ( + + T) + ( + + T) + (T + <>)>> + +> + +> + >> + + > + ) + (T + )> + T) + (T + <>)>> + +> + + )> + T> + +> + + + )> + T> + + + +> + + + ,FATAL-VALUE) + ( + <>) + ( + + T) + ( + + T) + ( + >> + )> + ,FATAL-VALUE) + (T + <>)>> \ No newline at end of file diff --git a/nnjet.zil b/nnjet.zil new file mode 100644 index 0000000..b0fb6a9 --- /dev/null +++ b/nnjet.zil @@ -0,0 +1,3506 @@ +"NNJET for BUREAUCRACY: Copyright 1987 Infocom, Inc. All rights reserved." + + + + + +"There are three scenarios. The first two that are played out turn out to + be dreams, as you discover when you wake up just before crashing into the + ground because your parachute didn't work. The third is real, and in that + one, assuming winnage, your parachute works and you land in the stew. + The scenarios are: + 1) Hijacking. The plane is hijacked by someone who decides to escape with + a randomly-chosen hostage, namely you. Why? Who knows. If you do the + wrong thing, you get blown away (of course, in the dream sequence you + just wake up). Maybe the airplane too. + 2) Bad breath. You foolishly eat your airline food. Failure to do so gets + you thrown off for being rude to the chef. If you do, you develop severe + halitosis, forcing you to go brush your teeth; failure to do so gets you + thrown off for being a chomper. When you brush your teeth, you can either + clean out the sink (per the sign), in which case you're delayed past the + seat-belt and return-to-seat signs coming on; you get thrown off for not + obeying that. Otherwise, you get thrown off for not cleaning out the + sink. + 3) Visa. You're required to fill out some entrance form, with a visa number + that you don't have and can't get. Failure to do so results in ejection." + +; "Actually move the cretinous player onto the plane..." + + + + + + + )> + + + + + ; "Put smoker/non-smoker in next seat." + + + T> + + + + + ) + ( + > + ) + ( + > + + ) + (> + ; "Not on the plane" + + T) + ( + T) + (T <>)>> + + +"Basic airplane stuff. Aisle to move around in, seats to sit in, etc." + +; "Generic AISLE room..." + + + + + +) (NEWVAL <>)) + + ,ROW-SEEN-BIT>>> T) + (T <>)>) + (T + ,ROW-SEEN-BIT>) + (T + + >)>>)>> + + )> + + + ,STARBOARD-DIVISOR> + *17*>) + (T + + <* .NEW ,STARBOARD-DIVISOR>>>)>> + + + )> + + + ,PORT-DIVISOR> + *17*>) + (T + + >>)>> + + )> + )> + .N> + ;>>> + + ; "Starboard side" + ) + (T + )>)>> + +> + + ,ALL-SEATS>> + + + + > + ,ALL-SEATS> + ) + (<0? .SEAT-MASK> + ) + (T + > + > + > + + >) + ( + > + >>>> + + >) + (T + + .FF? + T) + (T <>)>>)> + > + > 4> + )>>)> + + ) + (<==? .RARG ,M-BEG> + + + ,ALL-SEATS>> + >>> + + + + )>> + T) + (T <>)>) + ( <>) + ( + > + > + + ,M-EXIT>>> + )> + + )> + )> + + > + + + T) + ( + ) + ( + + T) + ( + + T) + ( + + T) + (T <>)>) + (T <>)>> + +) + (T + )> + + " and " CHAR >> + " are " .TAILSTRING> + ) + (T + )>> + + + )>> + +) + "AUX" (NEW-ROW ) (NEW-SEAT )) + + <==? .NEW-ROW ,CURRENT-ROW> + <==? .NEW-SEAT ,CURRENT-SEAT>> T) + (T <>)>) + ( + + <>) + ( + > + + + <>) + (T T)>) + (T + + <>)>> + + "OPT" (ROW: <>)) + )> + )> + .SEAT> + ;>>> T) + (T <>)>> + + FF? "OPT" (LAST? <>) "AUX" PERS) + + >> + + ) + (T + )>) + (T + + )> + ) + (T + )>> + + %) + (<==? .N ,SEAT-B> %) + (<==? .N ,SEAT-C> %) + (<==? .N ,SEAT-D> %)>> + +)) + ) + (T + )> + >> + +> + +"Wander the aisle. Front goes to Galley, back goes to area outside + lavatory." +)) + ,GALLEY>> + + + + )>> + + + + + ,GALLEY) + (T + > + > + + )> + + > + ,AISLE)>) + (<==? ,P-WALK-DIR ,P?SOUTH> + + ,LAV-LOBBY) + (T + > + > + + )> + > + + ,AISLE)>)>> + +>> + >)> + > + + + ; "North is forward, so east is to C & D" + + ) + (T + + )> + > + > + > + + <>) + (> + + <>) + ( + + + ,SEAT) + ( + + + ,SEAT)>> + +; "Miscellany around the seat." + + + <>) + ( + + + T) + (T + + + + T)>) + ( + + + + + T) + (T + )>)>> + + + +)) + + + + )>) + ( <>) + ( + + + )>)>> + + + + + + + + + )>> + + + + + )>> + + + + + + + + ) + (T + )> + T) + (T <>)>> + +> + >) + (T + + CHAR >>)>> + + <>) + ( T) + (T T)>> + + + <==? ,P-WALK-DIR ,P?WEST>> + + <==? ,P-WALK-DIR ,P?EAST>> + <==? ,P-WALK-DIR ,P?OUT>> + ; "Move into the aisle" + + + ,AISLE) + ( + <==? ,CURRENT-SEAT ,SEAT-D>> + + <>) + (T + + >>) + (T + >>)> + + > + + + ) + (T + )> + <>) + (T + + + ,SEAT)>)>> + +> + ".\"" CR> + T) + (T <>)>> + + +; "The seat itself" + + + + > + + >> T) + (T <>)>> + +) "AUX" (NEW-ROW ) + (NEW-SEAT )) + + + " on your unbelievably luxurious Air Zalagasa flight to wherever it is you're going." CR> + > + ) + (T + )> + + + + )> + + + > + + > + )> + + + )> + T) + (<==? .CONTEXT ,M-BEG> + + > + ) + ( + > + + T) + (T <>)>) + (<==? .CONTEXT ,M-EXIT> + T) + (T + + + + + )>)>) + ( <>) + (> + ) + ( + + + )> + T) + ( + + > + ) + (T + + )>)>) + ( + + + T) + ( + > + ) + (T + + + T)>) + ( + + ,M-EXIT>>> + )> + + <==? ,CURRENT-ROW .NEW-ROW> + <==? ,CURRENT-SEAT .NEW-SEAT>> + ) + ( ) + ( + + + ) + (T + + + )> + + + )>) + (T + )> + + + + > + )> + + T) + ( + + <==? .NEW-ROW ,CURRENT-ROW>> + ) + ( + + 0> + + >)> + ) + (T + )>) + (> T) + ( + + ) + (T + )>) + ( + + ) + (T + )>)>> + + + + )> + + > + + + > + )> + > + + + + + >> + + >>> + + )>)>> + +> +> + +)) + + + + > + <==? ,CURRENT-SEAT > + > + ; "Just returned to previous seat, so OK" + T) + (T + > + > + )> + > + )> + + + >> 0> + + + "! Please don't let it happen again.\"" CR CR> + )>)>)>> + +)) + + "Ma'am") + (T "Sir")>) + (,SEX "ma'am") + (T "sir")>> + +"Get personal belongings out of seat, and give them to steward for return." +) + "AUX" NOBJ LEN (N 0)) + > + > + >)> + + >> + > + > + > + + )> + ) + (T + >)> + )>>)> + .N> + +> + +; "Make sure we've got a good seat number, and set things up so the + parser will like it." + + + >> + + + + + +) + (NMLEN )) + > + > + )>)>)> + + + > + T) + (T <>)>) + (T <>)>) + (T <>)>) + (T <>)>> + +) + (NMLEN ) + TAB) + + > + <>) + ( + ,LAV-LOBBY) + (> + 2>> + 2>>> + ,LAVATORY) + ( + ; "Random person/object" + ) (VEC ) + (COULD-BE-PERSON? <>) TMP (WIN? <>) ONAM) + > + ; "Kludged due to compiler bug" + <==? .ADJ >> + <==? .NAM .ONAM>> + )>)> + + <==? .NAM .ONAM>> + )>)> + > ,OBJECT-BREAK> + + ) + ( + > + + ) + ( + >> + ; "Don't recognize any of these guys except + when they're actually present." + + + ) + (T + )> + + ) + (T + ; "Allow search to continue, since there may be + other matches later in the vector." + )>)> + > 3> + )> + .MATCH>)> + > + >>) + ( + > + + <==? .ADJ ,W?INTNUM> + > + + ) + (T + + + >)> + )> + + ,SEAT-A) + (<==? .NAM ,W?C> + ,SEAT-B) + (<==? .NAM ,W?D> + ,SEAT-C) + (<==? .NAM ,W?E> + ,SEAT-D)>> + ,SEAT)>) + ( + > + + > + >)> + + + ,SEAT) + ( + <==? .NAM ,W?INTNUM>> + + > + ,FATAL-VALUE) + (T + + ,AISLE)>) + ( + > + 1>> + >> + + > + ,FATAL-VALUE) + (T + + + ,SEAT)>)>> + +;"Object for useless random objects on the airplane: the escape + hatch, etc." + +> +> +> +> +> +> +> +> +> + + + + + + + + + + +)) + + ) + (<==? .WHICH ,HATCH-OBJECT> + ) + (<==? .WHICH ,FORM-OBJECT> + ) + (<==? .WHICH ,GRANDCHILDREN-OBJECT> + ) + (<==? .WHICH ,MEAL-OBJECT> + ) + (<==? .WHICH ,VISA-NUMBER-OBJECT> + ) + (<==? .WHICH ,COMPUTER-OBJECT> + ) + (<==? .WHICH ,BABY-OBJECT> + ) + (<==? .WHICH ,MOVIE-OBJECT> + ) + (<==? .WHICH ,RECIPE-OBJECT> + )>> + + T) + (T <>)>> + +) + "AUX" (WHICH ) + STR) + + + > <>) + (> <==? ,VISA-SCENE>> + <>) + (T + )>) + (<==? .WHICH ,VISA-NUMBER-OBJECT> + ) + ( <>) + (> + >> + ) + ( <>) + ( + > + + + ) + (T + )>)>) + (<==? .WHICH ,HATCH-OBJECT> + + ) + ( <>) + (> + "the hatch">) + ( + <>) + ( + + T) + ( + + ) + (T + + + T)>) + ( + + T) + ( + + + + T) + (T + + T)>) + ( + ) + ( + <==? ,HERE ,OUTSIDE-PLANE>> + + T) + (T <>)>) + (<==? .WHICH ,MOVIE-OBJECT> + > + ) + ( <>) + ( + ) + ( + > + > + ) + (T + )>)>) + (<==? .WHICH ,BABY-OBJECT> + > + ) + ( ,MOMMA-PERSON> + ) + ( + ) + ( + )>) + ( + <==? .WHICH ,RECIPE-OBJECT>> + > + ,BUSINESS-PERSON>> + ) + ( + + ) + (T + )> + T) + ( + ) + ( + + + <==? + ,BUSINESS-PERSON>> + <>) + (T + )>) + (T <>)>)>) + (<==? .WHICH ,GRANDCHILDREN-OBJECT> + > + ) + ( + + <==? ,PRSO ,RANDOM-PERSON> + <==? + ,GRANDMA-PERSON>> + <>) + (T + )>)>> + + + ,HATCH-OBJECT + <> + ,HATCH-OBJECT + <> + ,HATCH-OBJECT + <> + ,FORM-OBJECT + + ,FORM-OBJECT + + ,FORM-OBJECT + + ,FORM-OBJECT + + ,FORM-OBJECT + + ,VISA-NUMBER-OBJECT + + ,VISA-NUMBER-OBJECT + + ,VISA-NUMBER-OBJECT + + ,VISA-NUMBER-OBJECT + + ,VISA-NUMBER-OBJECT + + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + + ,GRANDCHILDREN-OBJECT + + ,GRANDCHILDREN-OBJECT + + ,GRANDMA-PERSON + <> + ,GRANDMA-PERSON + <> + ,GRANDMA-PERSON + + ,COMPUTER-OBJECT + + ,COMPUTER-OBJECT + + ,COMPUTER-OBJECT + + ,COMPUTER-OBJECT + + ,COMPUTER-OBJECT + <> + ,COMPUTER-OBJECT + + ,BUSINESS-PERSON + + ,BUSINESS-PERSON + <> + ,BUSINESS-PERSON + + ,BABY-OBJECT + + ,BABY-OBJECT + + ,BABY-OBJECT + + ,MOMMA-PERSON + <> + ,MOMMA-PERSON + + ,MOMMA-PERSON + <> + ,MOMMA-PERSON + + ,MOVIE-OBJECT + + ,MOVIE-OBJECT + + ,SMOKER-PERSON + + ,SMOKER-PERSON + <> + ,SMOKER-PERSON + + ,PURSER-PERSON + <> + ,PURSER-PERSON>> + +> + + + +)) + + + <>) + (T <>)>> + + + +)) + + + <>) + (<==? .CONTEXT ,M-EXIT> + + + + + <>) + (T <>)>) + (T <>)>> + + + +> + >> + ) + (T + )>> + + + + + ) + (T + )>) + (T + + 0 ,W?SPOTLESS> + + )>) + ( + > + >> + ) + (T + )>)>)>> + + + + + +> + + + + + > + + T) + (T <>)>> + + + + + + + + + <>) + (<==? .CONTEXT ,M-EXIT> + + + ,FOOD-SCENE> + 5> + > + >> + ; "If cleaned sink, nail for not returning to seat." + + + + + + T) + (T <>)>) + (<==? .CONTEXT ,M-BEG> + + > + ) + (T + )> + + T) + ( + > + ) + (T + )> + > + T) + ( + + + + + T)>) + ( <>) + (> + ) + ( + + + ) + (T + + )> + + + T)>)>)>> + + + + + <>) + ( + + + + T) + ( + ; "This will unlock the door, and check for waking + up at the end of the food scene." + T) + (T + + T)>) + (T + <>)>) + ( + + ) + (T + + + )>) + ( + + + + ) + (T + )>) + (T <>)>> + + + + +> + + + + + + + + > + + + )>)> + .IB>> + + + +)) + .LEN> + ,RECEPTACLE) + (T <>)>> + + + + > + ) + (T + )> + T) + ( + > + + + ) + (T + )> + T) + ( + + T) + (T + <>)>) + ( + > + ) + (T + )> + T) + ( + + T) + (T <>)>> + + + +)) + > )> + + <>) + ( + > + > + )> + <>) + ( + + ) + (T + )> + + T) + ( + + <>) + (> + <>) + (T + + + + + >)> + + T)>) + ( + > + + > + + T) + (T + + T)>) + ( + + T) + ( + > + + T) + ( + + T) + (T + <>)>> + +> + ) + (T + > + )> + T> + +> + + T) + (> + + T) + (T + + + + + T)>> + +> + > 3> + + > + > ,NUMBER-OF-TUNES> + )> + + + + >> + + + )>)> + + .PHONES>> + +)) + + >> + )> + + + ) + (T + + ) + (T + )> + + + + + ) + (T + )>)>> + +> + >> + + + + + ) + ( + + ) + ( + + + ) + ( + + )> + + + ) + (T + )> + + + > + +> + +)) + > + > + >> + + + + + ) + (T + )> + ) + ( + + ) + (T + )> + ) + ( + + > + + + + )> + + > + + + +) "AUX" STR) + + > + ) + (T + )> + T) + (<==? .CONTEXT ,M-WINNER> + ) + ( <>) + ( + > <>) + (> + ) + ( + >> + ) + ( + + + T) + (T <>)>) + ( + + ,FATAL-VALUE) + ( + + T) + (T <>)>> + + + + + + +) (MALE <>)) + + + >)> + 0 .XFEMALE>)>) + (T + + + >)> + 0 .MALE>)>)> + > + + + + > + ,W?STEWARDESS ,W?STEWARD> + + ) + (T + + )>> + +> + + > + + + "?\"" CR> + > + + + > + +) + (LEN )) + > + > + > + >> )>>> + +; "Call if loser picked up a visa number from somebody. See if it's one of + the ones he might have gotten; set GOT-VISA-NUMBER? to person he got + it from." +> + <- ,FIELD-DATA-OFFSET 1>>> + >> + > + + )>)> + > ,PERSON-COUNT> + .CHECK>)>>> + +)"AUX" LOSERS-ROW) + + + + ) + ( + ) + ( + )>) + ( <>) + ( + + <>) + ( + + > + ) + (T + )>) + (> + > + ) + (T + + ", but I'm not authorized to say anything about that.\"">)>)>) + ( + + + + + > + + >> + + ; "Return T if direction of attendant + approach and direction to loser we + got this from match." + + ". Some people just aren't +very helpful about these things.\"||"> + + > + + + ) + (T + )> + + + ,M-SHORTDESC> + + > + + + ) + (T + + + ,M-SHORTDESC> + + ; "Winning case, when not dreaming" + )> + T) + (T + + ", but I've already seen this +number "> + + ) + (T + )> + )>) + ( + ) + (T + )>)> + T) + (T <>)>)>)>) + ( + > + ) + ( + <==? ,VISA-SCENE>> + ) + (T + > + )>) + (T + + + + ,FATAL-VALUE) + (T T)>)>> + + +"Nightmares" + +) "AUX" CS) + > + >> + >> + T>)> + )> + + + > + +> + > + > + > + <==? .SCENE ,HIJACK-SCENE>> + ; "Don't do the computer scene first." + T) + (> + )> + > 20> + + > + > + <==? .SCENE ,HIJACK-SCENE>> + T) + (> + )> + > ,SCENE-COUNT> + > + )>> + )>> + > + ; "Say it's used." + + ; "Save it" + + ; "Keep track of how many we've played." + > + >> + ; "Unless it's the last one, it's just a dream." + + >) + (T + )> + ; "Let 'er rip." + > + +> + + 1>> <>>> + )>> + + + + CHAR >>) + (<==? ,HERE ,AISLE> ) + ( + ) + (T + >)> + > + +) (BLAME-COMPUTER? <>) + (DREAMING? >)) + ; "If loser didn't bring computer on board, throw off the businessman, + who did, but only if dreaming. Otherwise, need some other excuse." + + > + ; "Not in plausible location, so make him get there, and try + later." + + .START-HIJACK>)> + > + .DREAMING?> + )> + > + > + )> + + + + ) + (T + )> + + ) + (> + + + + + + + ) + (T + + + + + )> + + ) + (T + + + + )>) + (.DREAMING? + )>> + + + T> + > + > + > + > + )>> + +; "Visa scene" +> + .IRTS>)> + >)> + > + + )> + + + T> + +) "AUX" (SJ? <>)) + > <>) + ( + + + >> + + ) + (T + )> + + ". People who don't pay attention to our regulations can't be permitted to continue on the flight. Why, you could be hurt!\" " + + " looks thoughtful for an instant, and then reaches a decision" + ,PCR> + ; "You dead, Jack" + <>) + (T T)> + .SJ?> + T) + (T + + + T)>> + +> + +)) + + )>) + ( + + <>) + (T + + + + + T)>> + +;"meal-state: + 1: meal has been served (always what the loser didn't want) + 2: meal done (loser either mungs it or eats it). If doesn't + happen within five moves, give warning. If eaten, go to state 4. + 3: if meal still not eaten, throw loser off. Otherwise, to state 4. + 4: bad breath noticed--neighbor looks slightly green, rings for + stewardess, who produces toothbrush, suggests using it. + 5: after enough moves to get to lavatory, if not there, throw + off for having bad breath. + 6: in lavatory, immediately run return-to-seat. + 7: If don't wipe + sink, throw off for that as soon as leaves seat; otherwise, + too late on return to seat, throw off for that." + +> + > + )>) + (> + ; "Too late, loser" + > + )>) + (T + )> + > + +)) + + 5>> + + <>) + (T + > + >> + > + + ; "Time to serve meal" + "? The Chicken +Kiev, or the Peking Duck?\"" CR> + )) + > + + ) + ( + >) + (T + + + )> + + ", we're all out of that. Would you like the "> + ) + (T )> + + + + + >> + + ; "5 moves to eat it" + + ) + (T + + + + + ; "Naughty, naughty" + )>>) + ( + <0? .Y>> + ; "Counter ran out" + + > + ; "Meal eaten" + + + )> + + ; "Ready to offend neighbor" + ) + ( + + + <>) + (T + + + "! We can't have this! Our chef would be +mortally wounded if she discovered that one of her meals was wasted. Why +not make it easy on yourself and eat the food? I'm told it's absolutely +scrumptious.\"" CR " stands in the aisle, watching +you." CR> + ; "Now have two moves to eat the damn food, + otherwise thrown off." + + )>) + (<==? .X 3> + + > + + " takes your plate and hurries off." CR> + + + ) + (T + ".\"" + CR CR> + + ; "Tsk." + )>) + (<==? .X 4> + ; "Anybody in neighborhood notices stench." + > + + + <>) + (T + + + + T)>) + (<==? .X 5> + + + + <>) + (T + + + + ", but some of our passengers have noticed +that you're suffering from halitosis. In fact, they suggest that they may +be forced to use their discomfort bags if something isn't done about it.\" " + " is starting to +look a little green. \"I think it would be a very good idea for you +to use this, before we have to take stronger measures.\"" CR CR + + " hurries off, leaving you holding " + A ,TOOTHBRUSH ,PERIOD> + + + >) + (<==? ,HERE ,GALLEY> + ) + (T + )>)>) + (<==? .X 6> + > + + + + <>) + (T + + ", but we gave you every chance. For the +sake of everyone's health, we're going to have to do something about this.\"" + CR CR> + ; "Die" + )>)>) + (<==? .X 7> + + >> + + + ". You brushed your teeth in the lavatory, +and left quite a mess in the sink. You're being most discourteous to your +fellow passengers, " + + ". We can't tolerate this sort of behavior +on a civilized airline.\" " " is now accompanied +by a hefty young man who looks a little too eager for action" ,PCR> + ; "Too bad" + ) + (> + + + + )> + T) + (T + + <>)>)>)>)>> + + + + + + T)>> + + + + + + )>)>> + + + + + + ) + ( + + >> + > + ) + (T + )> + + 0 ,W?DIRTY> + + + + ) + (T + )>> + + + + + + )>) + ( + + ) + (T + )>)>> + + + + + + + + + + > + + + ) + (T )> + + ", but we can't permit this to continue.\"" CR CR> + + + ,FATAL-VALUE) + ( + + + + ) + (T + + + )>) + ( + )>) + ( + + )>)>> + +)> + + + <>) + (T + + + + + T)>> + +> + ; "Am I in the front of the airplane?" + + ; "Then the f.a. is headed back." + <>) + (T T)>) + ( <>) + (T T)>> + + + ; "Get the loser back into a seat." + 2> + >) + (T + )> + + .I-VISA>)> + > + >> + + .I-VISA>) + (<==? .X 10> + + + + + + > + ) + (T + )> + + " hands you " + A ,IFORM ", and walks away." CR> + + T) + (<==? .X 9> + + > + ; "Give people some leeway at this point" + )> + T) + (<==? .X 8> + > 0> + >> + + .I-VISA>)> + > + ) + (T + )> + + T) + (<==? .X 7> + > 0> + >> + + .I-VISA>)> + + T) + (<==? .X 6> + + + + T) + (T + + + " hands your form back to you, while endeavoring to look mortally offended."> + )> + + + ",\" says " THE ,FLIGHT-ATTENDANT + ", motioning to someone you can't see." CR> + T) + (<==? .X 1> + + + + + + T) + ( + + > + + "! You haven't even started to fill out " + THE ,IFORM ". "> + ) + (<==? 2> + ) + (T + + )> + + ) + ( + + T) + (<==? .X 3> + ".\"" CR> + T) + (<==? .X 2> + > + T) + (T T)>) + (T + + + + T)>)>> + + + + + T) + (T <>)>) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + + + ,FATAL-VALUE) + ( + + ,FATAL-VALUE) + (T T)>) + (T T)>> + + T) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + + + ,FATAL-VALUE) + ( + + ,FATAL-VALUE) + ( + + ,FATAL-VALUE) + (T T)>) + (T T)>> + + + T) + (T <>)>) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + 4> + + <>) + (T T)>) + (T T)>> + + + + % + %>> T) + (T + + <>)>) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + + >> + ) + (T + )> + ,FATAL-VALUE) + (T T)>) + (T T)>> + + + ) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + >>) + (T T)>> + + + ) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + >>) + (T T)>> + + + ) + (<==? .CONTEXT ,FORM-EXIT-FIELD> + >>) + (T T)>> + +)) + > + >> + + <>) + (T T)>> + + + + > + + + + > + )> + + + + T) + ( + > + + ) + (T + )> + T) + ( + + T)>)>> + + + ) + (T + + )> + + > + +) (STARTED-IN-JOHN? <>) + "AUX" STR + (DREAMING? ) + (SHORT? )) + > + + + + + + + > + + > + > + + + + + + )> + + + + + + + + + + + )> + > + > + + ", but I'm afraid you'll have to leave us now.\" "> + + + ,PLAYER .DREAMING?>> 0> + + + )> + )> + + ) + (T + + ". If your future travel plans call for air travel to Zalagasa, we hope you'll think of us. Have a nice day!\"" CR>)> + + + + + )> + > + + + +> + + + ) + ( + + )>) + ( + > + + T) + ( + + + + ) + ( + + )> + + ) + ( + + + )> + + + + ) + ( + > + > + + )> + + + )>)> + + + + )> + .CHUTE>) + ( + > + + ) + ( + + ) + ( + + )> + + + )> + + T) + ( + + T) + (> + ) + ( + + + T) + ( + + T) + ( + + ) + (T + )> + T) + (T <>)>> + + + + + + ) + (T + + + ) + (T + > + + + + + + > + >> + ) + (T + )>)>)> + T> + + + + ) + ( + + + )> + + + + T> + + + +> + + T) + ( + <>) + ( + + + )> + + T) + ( + + T) + (T + <>)>> + + + + + + T> + + + + T> + + + + + ) + (T + )> + T> + +)) + + + + )> + + T) + (T + <>)>> + + + +)) + + + + ) + (T + )> + + T) + (T + <>)>> + + + + > + T) + (T + <>)>> + + +"Code for other passengers" + + +"Initialize state of seating: all rows are full, except for smoker/non-smoker + rows, which we handle on boarding. Other four people are put randomly around + plane, no more than one per row." + +> + + % + % %> + ; "grandma" +
% % + % %> + ; "Business person" +
% + % % %> + ; "Momma" +
% + % %>>> + + + + > + > + > 1> + > + ) + (T + >)> + + ,ALL-SEATS> + > + ; "Seat to leave blank" + + ) + (T + )> + > + + + )> + + + >> + ; "Set up personality in seat next to blank seat" + >)> + )>>> + + + > + + + > + >> + >> + >>)> + > " " + > " with " + >>> + + + + + > + +)) + .N>> + + + <==? .N>> T) + (T <>)>> + + + <==? .N>> T) + (T <>)>> + + + <==? ,PRSI ,IFORM> + + >> + + + <==? ,PRSI ,AIRLINE-MEAL> + + >> + +> + +) + "AUX" (OWINNER ,WINNER) VAL) + + > + + .VAL> + + + >)> + + + ; "FOO, HELLO becomes HELLO FOO" + + T) + ( + > + ) + ( + > + ) + ( + + T) + ( + > + ; "FOO, GIVE ME BAR becomes TAKE BAR FROM FOO" + ) + ( + > + >> + ) + (T + + + >)>)> + T) + ( + ) + (T <>)>) + ( + >)> + + + )> + ) + (<==? .N ,GRANDMA-PERSON> + + )> + ) + (<==? .N ,BUSINESS-PERSON> + + ) + (T + )>) + (<==? .N ,MOMMA-PERSON> + + ) + (T + )>)>) + ( <>) + ( + > + + + >)> + T) + ( + > + ) + ( + + > + + + ,FATAL-VALUE) + (T <>)>) + (<==? .N ,GRANDMA-PERSON> + ) + (<==? .N ,SMOKER-PERSON> + ) + (<==? .N ,BUSINESS-PERSON> + ) + (<==? .N ,MOMMA-PERSON> + )>) + (<==? .N ,GRANDMA-PERSON> + ) + (<==? .N ,SMOKER-PERSON> + ) + (<==? .N ,BUSINESS-PERSON> + ) + (<==? .N ,MOMMA-PERSON> + )>> + + + + ) + (T + + >)>> + + + + > + ) + (T + )>) + ( + + + ) + ( + >> + + > + + + + + )> + ) + ( + + ) + (T + )> + ) + ( + ) + (T + + + )>) + ( + )>> + +> <>) + ( + + T) + (T <>)>> + +> + + + > + ) + ( + + > + + + )>) + (> + ) + (T + )>)>> + + + > + + + ; "boy touching..." + > + + ) + (T + + T)>) + (T + )>) + ( + + ) + ( + > + ) + (T + )>) + ( + >> + > + ) + (T + )>) + (T + )>) + ( + ) + ( + ) + (T <>)>> + + + > + ) + (T + )> + ) + ( + > + ) + (T + )>)>> + + + > + ) + (T + )>) + ( + + > + ) + (T + )>) + ( + > + + + ) + (> + ) + (T + + + + )>) + ( + ) + ( + > + ) + ( + > + + ) + (T + )>) + ( + ) + (T + )>) + ( + )>> + + + > + ) + (T + )>) + ( + + + + )>> + + + + > + )>) + ( + ) + (T + )>) + ( + )>> + + + 8> + )>> + + + + > + ) + (T + )>) + ( + ) + ( + > + + + + ) + (T + )>) + ( + ) + (T + )>) + ( + )>> + + + + + + + + T) + ( + + + + T) + (T + + + )>)>) + ( + ) + ( + ) + ( + + + + + T) + (T + )>)>> diff --git a/ntext.file b/ntext.file new file mode 100644 index 0000000..d61fba8 --- /dev/null +++ b/ntext.file @@ -0,0 +1 @@ +To find the entrance, from the first numbered room, go in any direction. Thenceforth, subtract the number of the previous room from the current one. Use the first digit of the difference to select one of the following strings: 1 gives NSEWUD, 2 gives NWESDU, 3 gives USDNEW, 4 gives SUNDEW, 5 gives ENUDSW, 6 gives DWEUNS. Use the second digit to select a letter from the string, and go in that direction. Thus, room 64 to 105 gives a difference of 41. Take the first letter from the fourth string, and go South. \ No newline at end of file diff --git a/old-parserdefs.zil b/old-parserdefs.zil new file mode 100644 index 0000000..50a3686 --- /dev/null +++ b/old-parserdefs.zil @@ -0,0 +1,113 @@ + + + + +> + +> + )> + + + .Y) + (T + T)>> + +"Byte offset to # of entries in LEXV" + + + +"Word offset to start of LEXV entries" + + + +"Number of words per LEXV entry" + + + + +"Offset to parts of speech byte" + + + +"Offset to first part of speech" + + + +"First part of speech bit mask in PSOFF byte" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .BIT>) + (T + )>> + + diff --git a/other-misc.zil b/other-misc.zil new file mode 100644 index 0000000..9320c7a --- /dev/null +++ b/other-misc.zil @@ -0,0 +1,727 @@ +"OTHER-MISC for BUREAUCRACY: (C)1987 Infocom, Inc. All Rights Reserved." + + + + + +>"> ;"'File' is not in manual." + > + + > + + >)> + + <>) + (T )>) + ( + > + + >> + )>> + + ) + (T + > + T) + (T <>)> + T>)>>> + +> + > + + + + + > + + )> + ) + (T + + + )> + + + + + + + + + + + + + ; + + + + + + + + + + + > + + + + + + + + + + + + + + > + + 202>> + + + > + + > + + > + + > + + > + + > + 201>> + + > + )>> + + > + > + +> + + + + + > + + + + + > + ) + (T + > + )> + + + > + + + +> + + ) + ( + + + ) + (T + .WALLS>)>) + ( + > + + ) + ( + > + + + ) + ( + + + )> + + ,FATAL-VALUE> + + + +> + + ,FATAL-VALUE) + ( + + T) + (T + <>)>> + + + + + + + T) + (T + <>)>) + ( + + T) + ( + + + ) + (T + )> + + T) + ( + + T) + ( + > + + T) + ( + + T) + (T + <>)>> + + + +"TOUCHED = flight described once." + + + + + T) + (T + <>)>) + ( + + T) + ( + + T) + (T + <>)>> + + + + + + + ) + ( + + )>) + ( + + ) + ( + + ) + ( + + ) + ( + + )> + + ,FATAL-VALUE> + + + + + >> + +"SEEN = given PRE-DUMB-EXAMINE admonishment." + + ,W?EYES> + + ) + ( + + ) + ( + + )>)> + + + T) + (T + + ,FATAL-VALUE)>> + + + +) "AUX" OBJ NXT (ANY <>)) + + + + T) + ( + + T) + ( + + ) + (T + )> + T) + ( + + T) + (T + <>)>) + ( + + > + + )> + > + + + )> + > + + ) + (T + + + + )> + T) + ( + + T) + ( + + T) + ( + + T) + ( + + T) + ( + + + T) + ( + T) + (T + <>)>> + + + + + + T) + ( + + T) + ( + > + + T) + (T + <>)>> + + + + + + T) + ( + + T) + ( + > + + + T) + ( + + T) + ( + + T) + (T + <>)>> + + + + + + + +> ,W?FLOOR> + ) + (T + )>> + +> + > T) + (T <>)>> + + ,W?FLOOR> + > + + )>)> + + + + T) + (T + <>)>) + ( + + > + + T) + ( + + T) + (T + <>)>> + + + + + + :FIX 3>> + + T) + (T + <>)>) + ( + > + + + ) + (T + )> + + T) + ( + + <>) + ( + + T) + ( + + T) + (T + <>)>> + +) "AUX" THING OPRSO) + > + <>) + ( <>) + (T + ) + (T )> + + + + + + <>) + (T + + ,FATAL-VALUE)>)>> + +"WINDOW [table] [left-margin], where [table] is a global PLTABLE + with the 1st element = width of window, followed by strings (0 for blank). + If [left-margin] is not specified, window is centered." + +; "Used for optional arguments to WINDOW..." +>> + +) (S2 <>) (S3 <>) + (STLINE 4) + "AUX" MARGIN (Y .STLINE) (I 2) W:FIX LINES:FIX + STR PLINES + (CT:FIX 0) (ET ,EXTRA-TEXT) SP:FIX) + + + + > + + > + 2>> ; "Center" + > ; "Set up the window." + + > + + + + + + > + + > + + + )> + > + + > + :FIX>> + ; "Number of spaces needed" + > + ; "Print half" + + > + >>) + (T + )>) + (T + + + )> + >> + + + + + + + ; "Send window to printer." + + + + + + + > + + )> + > + > + > + )> + ) + (> + > + :FIX> 2>> + )> + + )> + + >> + + + T> + + + +)) + + ,SOUNDS> + ) + (<==? ,SOUNDS> + ) + (T <>)>) + (T <>)>> + +> + + + ) + (T + )> + T) + ( + > + + T) + (T + <>)>> + + + +> + + ,FATAL-VALUE) + ( + + T) + ( + > + + T) + ( + + T) + ( + + T) + (T + <>)>> +; + +; + +; + > + + T) + (T + <>)>> + +> + + + + + T> + diff --git a/paranoid.zil b/paranoid.zil new file mode 100644 index 0000000..cbcd51f --- /dev/null +++ b/paranoid.zil @@ -0,0 +1,1602 @@ +"PARANOID for BUREAUCRACY. Copyright 1987 Infocom, Inc. All rights reserved." + + + +"*** SPY ***" + +> + +> + + ; "No passwords have been exchanged" + ; "User has correctly said the password" + ; "The spy has said his back" + + + + +)> + +> + +>> + > + >> + > + + + >> + > + + + >> + >> + >> + > + + + >> + > + >> + >> + > + >> + > + + >> + >> + + > + + + > + + > + + + >> + >> + + >> + >>>> + +> + +> + +> + +> + + + +)) + > + ) + ( + + + ) + (T + )> + + T) + ( + + + >> + <>) + ( + + T) + (T + <>)>) + ( + + + > + + >> + ) + ( <==? ,PRSO ,POWER-SAW>> + ) + ( + <==? ,PRSO ,HACKSAW> + > + ) + ( + ) + ( + + >) + (ELSE + )>) + ( + + >) + (ELSE + )>) + ( + ) + (T + )> + ,FATAL-VALUE) + ( <>) + ( + + + T) + ( + + T) + (ELSE + )>) + ( + <==? ,PRSO ,POWER-SAW>> + ) + ( + <==? ,PRSO ,HACKSAW> + > + )>) + ( + + + ) + (> + .SPY>)> + + ,FATAL-VALUE) + ( + + ,FATAL-VALUE) + (ELSE <>)>) + ( + + T) + (T + <>)>> + + + + + ) + ( + ) + (ELSE + )> + T) + (ELSE + )>> + +> + + > + + + + + + ) + ( + ) + (ELSE + + )>> + + + + ) + (T + )>> + + + + + T> + +> + +"** THE PARANOID **" + + + +) + "AUX" (SEEN? )) + + + + ) + (ELSE + + )> + T) + ( + + + T) + (T + <>)>) + ( + + ,FATAL-VALUE) + ( + <>) + ( + + + ) + (T + )> + + ,FATAL-VALUE) + ( + + ,FATAL-VALUE) + (ELSE <>)>) + ( + + T) + (T + <>)>> + + + + +)) + + + T) + ( + > + + > + + + + + T) + (T + + + <>)>) + ( > + + <>) + (T + <>)>> + +) + (EXIT-TO OUTSIDE-FORT) + (NORTH TO OUTSIDE-FORT) + (OUT TO OUTSIDE-FORT) + (DOWN TO BASEMENT) + (GLOBAL CAMHOUSE BWGATE PAR-STAIR) + (ACTION IN-FORT-F)> + +) + (EXIT-TO BASEMENT) + (GLOBAL JDOOR) + (ACTION JAIL-D)> + +)) + + + ) + (ELSE + )> + + > + )> + + T) + (<==? .CONTEXT ,M-EXIT> + + + T) + (> + + + T) + (T + + > + )> + + + )> + <>)>) + ( + <>) + ( + + ) + (T + )>) + (ELSE <>)>> + + + +)) + <>) + ( + + ) + (ELSE + )> + T) + ( + + + )> + + T) + ( > + + ) + (ELSE + + + > + + + T) + (ELSE T)>)>) + ( + + ) + (ELSE + <>)>) + ( + + ) + (T + )>) + (ELSE <>)>> + +) + (SYNONYM BASEMENT) + (GLOBAL JDOOR PAR-STAIR) + (ACTION BASE-F)> + +)) + + + + ) + (ELSE + )> + ) + ( <>) + ( + + ) + (<==? ,HERE ,JAIL> + ) + (T + )> + T)>> + + + + + + + T) + (T + <>)>) + ( + + + ) + (ELSE + )>) + (T + )> + T) + ( + + T) + ( + + + ) + (ELSE + )>) + ( + ) + (T + )> + T) + ( + + + ) + (T + )> + T) + ( + + ) + (T + )> + T) + ( + + ) + (T + )> + T) + (T + <>)>> + + + + + + + +> + > + ,MPLUG) + ( + ,P-IT-OBJECT) + ( + > + ,POWER-SAW) + (ELSE <>)>> + +)) + + )> + ) + (ELSE + )>> + + + + > + + ) + ( + + + ) + (ELSE + )>) + (ELSE + )>) + ( + + > + + )> + + ) + (<==? ,PRSI ,GENERATOR> + > + + + + + > + + )>)>) + (ELSE )> + ) + (ELSE + )>) + (T + )>) + ( + > + ) + ( > + + ) + (ELSE + )> + ) + ( + + + >> + + ) + (ELSE <>)>) + ( + + + )> + + T) + ( + + >> + )> + ) + (ELSE <>)>> + + + + + ) + ( + + ) + (ELSE + + + + + + + + + + + )>)>)> + T) + ( > + + + + ) + (ELSE + )>) + ( + + ) + (ELSE + )>) + ( + ) + ( + )>> + +) (PL )) + + + ) + (<==? .PL ,BASEMENT> + )> + + ) + (<==? .SL ,BASEMENT> + + ) + (<==? .PL ,IN-FORT> + + + )> + ) + (<==? .SL ,IN-FORT> + + + + + ) + (ELSE + + + )>)>> + + + + + )>> + + + + + + )>> + + + + + > + .SWISS>)> + + + + + ,FATAL-VALUE) + (> + + ) + (ELSE + )>) + ( + + ,FATAL-VALUE) + (> + + ) + (ELSE + )>) + (ELSE + )>) + ( + )>) + ( + + T) + ( + + ) + (ELSE + + )> + + T) + ( + + + ) + (ELSE + )> + + T)>> + +)) + + <>) + ( + + + T) + (ELSE + + + + <>)>) + ( + + + T) + (T <>)>) + (T <>)>) + (> > + ; + + ) + ( +
) + (CABADDR
) + (CABMUSIC:FIX BYTE 0) + (STNUM-VALUE:FIX 0) + (CABTIMES:FIX BYTE 0) + (CABTURNS:FIX BYTE 0) + (CABSTATE:FIX BYTE ,CAB-INIT) + (CABPREVNAME
) + (CAB-DONT:FIX BYTE 0)> + +; "Should be in PLACES..." + ,CAB-HERE> + + <>) + ( + ,FROOM) + (T + + <>)>> + +> + > + > + >> + >)> + >) + (<==? .CHR 32> )> + + > .LEN> + )>> + T> + +> + +) WORD PTR TBL LEN (STREET-OK T) + (CS ) (CD ) (TAKE-INFO T) + (CT )) + )> + > + + + + >> + > )> + + )> + + + > + + + > + + )>) + ( > + + + " "> + > + + + > + > + )> + + + + + > + + + 2>> + ) + (ELSE + + + 5>>)> + > + + ) + ( + ) + (ELSE + + + )>>) + (ELSE + + + + + + > + ,CAB-SENT> + >> + + + 2>> + ) + (ELSE + 5>>)>)>)>)> + > + + + + <>>> + > )> + + + + ) + (T + + + > + > + )> + + > + )> + + + > + + + ) + (T + )> + )> + + <>>> + > )> + + > + <- ,FIELD-DATA-OFFSET 1>> + T> + + + >)> + + > + >> + > )> + > + + + )> + + + > + 1>> + 1>>> + + <- .X %>>> + > .LEN> + > + )>) + (T + + + + + )>> + + > + > + > + > + + >) + (ELSE + )> + ) + (ELSE + )>)>> + + )> + >> + + + + + + )> + T> + +) + "AUX" (L1 ) (L2 ) (RES T) (CNT 1)) + > + <==? .L2 0>> + > + ) + (<==? .L1 0> + 32> + >)> + ) + (<==? .L2 0> + 32> + >)> + )> + > + >> + )> + > + > + >>)> + .RES> + +> + > + >> + %>>>)> + .CHR> + +)) + + )> + > + >>> + +> + + + + T> + + + + > + +) (ALPHA T) (OTBL <>) + "AUX" (OFFS 0) (DPTR 1) SPTR WORD LEN X LEXW + (WORD2 <>)) + >"> + + > + >> + > + >> + + > + + )> + ; + > + > + 1>> + 1>>> + > + > + .LEN> + )>) + (T + + + + > + )>> + + )>)> + >> + + >>) + (ELSE )> + + > + > + >) + (ELSE )>> + + + <==? .WORD ,W?HANG> + <==? .WORD2 ,W?UP> + > + + + .GCW>) + ( + ) + ( + ) + ( + ) + ( + ) + (T + )>)> + > + + + > + > + ; 1>> + 1>>> + >)> + + > + > .LEN> + + )>>)> + > + + + > 0> + > + )> + % + '>>>>) + (ELSE + ' 2>> 8> + 2> 1>>>>)> + > + ; "Don't put say and quotes in table..." + + >)> + % + '>) + (T + '>)>>) + (ELSE + > + >>)> + > + .WORD2) + (T .WORD)>)>> + +>> + >> + + + > + 1>> + 1>>> + .X %<- >>> + > + > .LEN> + )>) + (ELSE + > + )>> + .WORD> + +)) + <>) + (> <>) + ( T) + (<==? .CT 1> ) + ( T) + (T <>)>> + +; + +; "SETG HOLD-TURNS to 0 when put on hold, call this with max # of turns + allowed to hold each time decide whether to stay on hold or not..." +> .MAX> + ; "If have held too many turns, stop..." + <>) + ( + > + ; "Continue holding if first time..." + T) + (T <>)>> + +)) + > + <>) + (T + + )> + + + + + + T) + (T + + + + + + > + + " "> + > + + + >> + + + 2>> + ) + (ELSE + 5>>)>)>)>> + + + + + <>) + ( + + + + T) + (T + <>)>> + + + + + +)) + + + T) + ( + <>) + ( + > + <>) + ( + + T) + (T + + + + + T)>) + ( T) + (T + <>)>> + + + + + ) + ( + T) + (T + <>)>> + + + + + + )> + > + + + >> + + ) + ( + + > + ) + ( + + > + ) + ( + + + T)>) + ( + T) + (T + <>)>> + + + > + + T) + (ELSE + + T)>) + (T + <>)>> + + + + + ) + ( + + + T) + (T <>)>) + ( + + + + + T) + (T + <>)>> + + + + + ) + ( + + + T) + (T <>)>) + ( + + + + + T) + ( + + T) + (T + <>)>> + + + +)) + + > + + >> + + ,FATAL-VALUE) + (T <>)>)>) + (<==? .CONTEXT ,M-OBJDESC> + + + > + + )> + ) + (<==? .CONTEXT ,M-SHORT-OBJDESC> + + + > + + )> + T) + ( <>) + ( + ) + ( + + + T) + (T + <>)>) + ( + + <>> + + + + + + + T) + ( + > + + + )> + <>) + (T + <>)>> + + + + + + + + + T)>> + + + > + + > + + ) + ( + + )> + 1>> + " printed on it." CR>) + ( + ) + ( + )>)>> + +)) + + )> + 1>> " printed on it." CR>> + + + + + + + > + <>) + ( + + + + + + T) + ( + + + T) + (<==? > + > + + + T) + (T + )>) + ( ) + (T <>)>) + (T <>)>) + ( + > + > + + > + > + ) + ( + T)>) + (ELSE + + T)>) + (ELSE <>)>) + (ELSE + T)>> + +> + + + +) + "AUX" X:FIX DOLL:FIX CENT:FIX) + ) + ( + + ,PERFORMING?> + ) + (ELSE )> + > + > + + ) + (<==? .CENT 1> ) + (ELSE + )>) + ( <==? .CENT 0>> + ) + (ELSE + + ) + ( ) + (ELSE )>)> + T> + +; + +)) + )> + > + + )>> + + + + + T) + (T <>)>) + ( + <==? ,P-PRSA-WORD ,W?WITHDRAW> + > + ) + ( + > + > + ) + (ELSE + <>)>) + ( > + )> + + ) + (ELSE + + + + )> + T) + ( > + + T) + ( + + + + T) + (T + <>)>> + + + + + > + >> + ; "check in trough--check covered with llama slime" + + + > + >> + ; "check in porch--check covered with macaw dung" + + > + >> + ; "check in fort--soaked check" + + > + >>>> + +) + (S ) + (TBL ,BOSS-CHECK-WORDS)) + + + >) + (<==? ,HERE ,OUTSIDE-FARM> + >) + (<==? ,HERE ,IN-PORCH> + >) + (T + >)> + 2> > + 2> >> + + + ) + ( + ) + ( + ) + ( + )>> + +) "AUX" (L )) + + + + ) + ( + ) + (T + )> + + T) + ( <>) + ( + + + ) + (<==? .L ,IN-PORCH> + ) + (<==? .L ,IN-FLAT> + ) + (T + )> + + T) + ( + ) + ( + + ) + (<==? .L ,IN-FLAT ,IN-PORCH> + ) + (T + )>) + (T <>)>> + + + + + + + + + T) + (ELSE <>)>> + +) + (TURNS )) + + + + 1>> + ) + (ELSE + + + ) + (ELSE + >> + <>)>)>) + ( + + + + + ) + (<==? .CS ,CAB-NEEDS-ID> + + .I-CAB>) + ( + )> + >> + T) + (ELSE + >> + )>) + (<==? .CS ,CAB-INHABITED> + + + + T) + (ELSE + + <>)>) + ( + + + + + T) + (ELSE <>)>> + + + ) + (<==? ,HERE ,OUTSIDE-HOUSE> + ) + (ELSE + )> + > + + > + > + + + + ) + (ELSE + + )> + ) + (<==? .STATE ,WAITING> + + + ) + (<==? .STATE ,WANDERING> + + ) + (ELSE + + ) + (ELSE + )> + + ) + (<==? ,HERE ,OUTSIDE-HOUSE> ) + (ELSE )> + + )> + T) + (ELSE <>)>> + + + +> + > + + ,P-IT-OBJECT) + (<==? .LEN 2> + ,CAB> ) + (<==? ,CAB> )>)>> + + T) + ( + + ,CAB-HERE ,CAB-NEEDS-ID>> + T) + ;( T) + (ELSE <>)>> + +) (TURNS )) + + > + + >> + + > + ) + ( + ) + (T + )> + T) + ( + + + T) + (> + + T) + (T + )>) + (T + )>) + ( + + ) + (<==? .CS ,CAB-HERE> + ) + ( + + + ) + (ELSE + )>) + (ELSE + 1>>)>) + ( > + + + + ) + (T + )>)>) + (ELSE + <>)>) + ( + > + >> + ) + ( <>) + ( + + <==? .CS ,CAB-SENT> + > + + T) + (ELSE + + T)>> + + + + + + > + .VAL) + (ELSE + + + + + ,HERE)>> + + + +)) + + > + <==? .CS ,CAB-HERE> + >> + + + + + + + ) + (T + + )> + + > + >)> + T) + ( + + + + ,FATAL-VALUE) + ( + + > + <==? .CS ,CAB-NEEDS-ID>> + + > + <- ,FIELD-DATA-OFFSET 1>>> + + ) + (ELSE )> + + + > + ) + (ELSE + + + + + ) + (T + )> + + + ; + + + + + + )> + T) + (<==? .CS ,CAB-NEEDS-ID> + + ) + ( + > + ) + ( + > + + + ) + ( + + ) + (ELSE + )> + ) + ( + + ) + (<==? ,P-NUMBER 1750> + ) + ( + + + ) + (T + )>) + ( + ) + (T + )> + + + + >)> + T)>)>) + (ELSE + + + ,FATAL-VALUE)>> + + + + + +> + + + + + T) + (ELSE <>)>> + +) "AUX" (CS ) VAL) + + ) + (<==? .RARG ,M-BEG> + > + <==? .CS ,CAB-JUST-AT-AIRPORT>> + )> + > + ) + ( + + + + T) + (<==? .CS ,CAB-WAITING-FOR-YOUR-EXIT> + + + T) + (<==? .CS ,CAB-DRIVER-PISSED> + T T> + T)>) + (ELSE <>)>) + ( <>) + ( + ) + ( > + ) + (ELSE <>)>> + +)) + > + + <>) + ( + + + <>) + ( + )>> + +> + + + + + + > + +)) + + + + ; + ; + + + + + + ,OUTSIDE-HOUSE) + (ELSE + + )>> diff --git a/verbs.zil b/verbs.zil new file mode 100644 index 0000000..3039764 --- /dev/null +++ b/verbs.zil @@ -0,0 +1,3949 @@ +"VERBS for BUREAUCRACY: (C)1987 Infocom, Inc. All Rights Reserved." + + + + + + + + ) + ( + ) + ( + + + + )> + ) + (<==? ,P-NUMBER 3> + + + + + + + T>) + (<==? ,P-NUMBER 4> + + + + + )>) + (T + )> + T>> + + + > + + + + T> + +; "0 = super, 1 = brief, 2 = verbose." + + + ,FATAL-VALUE) + (T + + + + T)>> + + + ,FATAL-VALUE) + (T + + + T)>> + + + ,FATAL-VALUE) + (T + + + T)>> + + + ,FATAL-VALUE) + ( + ) + (T + + T)>> + + + +) (WORN? <>) OBJ NXT OLDIT) + + ,FATAL-VALUE) + (T + + > + + ; "Move all worn objects to WEARING for separate sentence." + > + + )> + > + + + )> + > + > + + + + + ; + > + + + > + ) + (T + )> + + )> + > + + )>> + + + + + + ) + (T + )>) + ( + ) + (T + )>) + (T + + + + + + + ) + (T + )>) + ( + ) + (T + )>)> + + + ) + (T + )> + + + + + T)>> + +> + + + )> + + + + + + + + ) + (T + )>) + (T + >"> + + > + > + ,W?QUIT ,W?Q>> + ) + (<==? .WRD ,W?RESTART> + + + ) + (<==? .WRD ,W?RESTORE> + > + )>) + (T + )>>)> + T> + + + ,FATAL-VALUE) + (T + + + + + + + )> + T)>> + +> +> + + "[Please type YES or NO.] >">> + +) "AUX" WORD) + + >">) + (T )> + + + > + > + T) + ( + + ) + ( + .YES>)>)> + ) + (T .YES>)>>> + + + + + > + T) + (T + <>)>> + + + > + T) + (T + <>)>> + + + ,FATAL-VALUE) + (T + + T)>> + +> + + > + + + <>) + (T T)>> + + + )> + + > + + ; "Retrofix #50" + > + + + ) + ( + + )> + + + + ,FATAL-VALUE> + + + + + )> + T> + + + + + )> + T> + + *77777*> >> + + + + + + + + + )> + + + + > + )> + + > + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + ) + (T + )> + + + ) + (T + )> + + T> + + "0 = not offered, 1 = on, 2 = off." + + + ) + ( + ) + (T + )> + + + ) + (T + )> + + T> + + + +; "Because five extra points if go through complex" + + + + + + +> + > + +)) + <>) + (T + )> + + + ) + (T )> + + + + + T)>> + +) + "AUX" (SYSTOLIC:FIX ) + (DIASTOLIC:FIX ) + (ALREADY-NORMAL? <>)) + + .UPDATE>)> + + + > + )> + + > + >)> + + > 255> + )> + 2>>> + + .DIASTOLIC>> + + > + ; "Back to normal" + + 80>> + + )> + + )>)> + ) + (T + .UPDATE>)>) + ( + > + + )> + + + + + ) + ( + + )> + + + 80>> + + + )> + T) (T <>)>>> + + + ,FATAL-VALUE) + ( + + + + T) + (T + + T)>> + +)) + > "day, "> + + )> + + >) + ( + ) + (T + )> + + + )> + + + ) + (T + )> + T> + + + ,FATAL-VALUE) + (T + + + + T)>> + + + ,FATAL-VALUE) + (T + + + + T)>> + + + + + + T> + + + )> + + + + + + + + + + + + + + T> + + + + T> + + *3777*>> + + > + T> + + + + T> + + + + T> + + + > + + > + + T> + + + + > + ) + (T + )> + T) + (T + + + + ) + (T + )> + T)>> + + + ,FATAL-VALUE) + (T + + T)>> + + + ,FATAL-VALUE) + (T + + T)>> + + + ,FATAL-VALUE) + (T + + T)>> + + + ) + (> + ) + (T + >)> + T> + +;> + +;> + 80>>> + ) + (T + + + > + ) + (T + + )> + )> + T> + + + ) + (T + )> + T> + + + T> + + + ) + (T + )> + T> + +; + T> + +; + T> + +> + + ,FATAL-VALUE) + ( + ) + ( + > + ) + ( + ) + (T + )>> + +> + + ,FATAL-VALUE) + ( + + T) + ( + > + + T) + (T + + T)>> + +> + + ,PLAYER ,WALLET ,POCKET> + ) + (T + )>> + + + T> + + + ) + (T + + + + )> + T> + + + ) + ( + ) + (T + )> + T> + + + ) + (T + + + )> + T> + + + ) + (T + )> + T> + + + ) + (T + )> + T> + +> + ) + ( + ) + (T + + + )> + T> + +> + +"First and second ADJECTIVE slots must be available." +"Set to OPENED and OPEN for open objects, CLOSED and SHUT for closed." + +> + + > + ) + ( + > + )> + + > + + )> + T) + (> + + T) + ( + + T) + ( + + T) + (T + + > + + ,W?CLOSED>> + + )> + "open"> + + + > + >) + ; (> + > + >> + ) + (T + + + + )>)> + T)>> + + + + + > + + ,W?OPENED>> + + )> + "close"> + ) + (T + )>) + (T + )> + T> + + + ) + (T + )> + T> + + + T> + + + T> + + + T> + + + ) + (T + )> + T> + + + ) + (T + )>> + + + + ) + (T + )>) + (T + )> + T> + + + > + )> + + T> + + + T> + + + ,FATAL-VALUE> + +)) + + + )> + + T> + + + T> + +> ,FATAL-VALUE> + ,FATAL-VALUE) + ( + + T) + (T T)>> + + + > + ) + (T + + + ) + (T + )> + )> + T> + +> + + > + + .IDROP>) + (> + + + > + ) + (T + )> + + .IDROP>) + ( + > + )> + + ,FATAL-VALUE> + ,FATAL-VALUE) + (T <>)>) + (T + + T)>> + + + ) + (T + + > + )> + + )> + T> + +) "AUX" (OBJ ,PRSO)) + + .FF>) + ( + .FF>)> + )> + + + + + T) + ( + + + + T) + ( + + + + T) + ( + + + + T) + ( + + + + ) + (T + + )> + T) + ( + + ) + (T + )> + + + T) + (T + + + > + )> + + T)>> + + + ) + (T + )> + T> + +)) + + ) + ( + + ) + (T + )> + T> + + + ) + (T + )> + T> + + + ) + () + (T + > + + )> + )> + T> + + + T> + + + T) + (> + .LOOK>) + (T + ; "This is an LTABLE, so we don't have the cretinism of + initializing PTR to the length of a table that's defined + somewhere else and getting it wrong." + > + > + > + > + > + > + >> + + + )> + ) + (> 0> + )>>)> + > + + + )> + + + T> + + + + > + >> + )> + + T> + + + >> + +; + + ,FATAL-VALUE) + (T + <>)>> + + + + + + ) + (T + )> + + T) + ( + + + + + T) + ( + + > + ) + (T + )> + T) + ( + T) + ( + > + + + + T) + (T + + )> + T> + + + ) + (T + )> + + T> + +;> + +; + T) + (T + <>)>> + + + + + ) + (T + )> + + T> + + + ) + (T + > + + ) + ( + + > + + ) + (T + )>)> + T> + + + ; + + ) + (T + )> + T> + + + ,FATAL-VALUE) + (T + ) + ;(> + T) + ;(T + + T)>> + +> + T) + ;(> + + )> + + T> + +> + + ) + ( + ) + ( + ) + ( + + >> + ) + ( + > + > + ) + ( + > + + + ) + (T + )> + ) + (T + )> + T> + +> + + + > + + + ) + ( + ) + ( + ) + (T + )> + T> + + + T> + + + T> + + + T> + + + T> + + + + )> + + + )> + + + + T) + (T + + + ) + (T + )> + + > + ) + (T + )> + )> + T> + + + T) + (T + <>)>> + + + ) + (T + + + ) + (T + )>)> + + T> + + + T> + +)) + + > + + T) + ( + > + + <>) + (T + + T)>) + ( + > + + T) + (> + + + ) + (T + )> + + T) + ( + > + + T) + (> + > + > + T) + ( + > + + <>) + (T + <>)>> + + + T> + + + ) + ( + ) + (T + )> + T> + + + > + + T) + ( + + > + >>> + + T) + ( + + T) + ( + > + + <>) + (T + <>)>> + +> + + ) + ( + ) + (T + )> + T> + +> + + + ) + (T + )>> + +> + ) + ( + ) + (> + ) + (T + )> + T> + + + T> + + + > + + T) + ( + > + + T) + ( <>) + (> + + T) + ( + > + + T) + (> + > + > + T) + (T + <>)>> + + + T> + +)) + )> + )> + > + )>> + + + + + + + T> + +> + ) + (T + )> + T> + + + T> + + + T> + + + ) + (T + )> + T> + +> + + + >> + )> + ) + (T + )> + T> + + + + >> + )> + + T> + + + + ) + (T + )>) + ( + ) + (T + )> + T> + + + T> + + + + ) + (T + )>) + ( + > + + + ) + (T + )>) + (T + )>) + (T + )>> + + + "pause"> + ) + (T + )> + T> + +)) + + + ) + (T + )> + ,HANDS>> + )> + + T> + +> + ) + (T + )> + T> + + + ) + ( + >> + ) + (> + )> + T> + + + T> + + + T> + +)) + + > + + ) + ( + ) + (T + )>) + (T + + + )> + T> + + + > + + ) + ( + + + ) + (T + )>) + (T + )> + T> + + + + + > + + >> + + + ) + (T + )>) + (T + )> + T> + +)) + + + )> + + T> + +)) + + + )> + + T> + +; + T> + +; + T> + +; + > + )> + + T> + +; + ) + (> + + ) + (T + + + + ) + (T + )> + )>) + (T + )> + T> + + + + + + T> + + + )> + T> + + + + ,FATAL-VALUE) + ( + + + + T) + ( + + T) + (T + + + T)>> + + + + ,FATAL-VALUE) + ( + + ) + (T + )> + T) + ( + > + + T) + (T + + T)>> + + + ) + ( + ) + ( + >> + + + ) + (T + )>)> + ) + (T + )> + T> + +)) + + + ,FATAL-VALUE) + ( + > + + ) + (T + + )> + T) + (T + + T)>> + + + ) + ( + ) + ( + ) + ( + ) + ( + > + >> + ) + (T + + + )>) + ( + + ) + (T + )>) + (T + )> + T> + + + ) + ( + + + ) + (T + )>) + ( + + ) + (T + )>) + (T + )> + T> + + + T> + + + + ,FATAL-VALUE) + ( + >> + + T) + (T + + + T)>> + + + + ,FATAL-VALUE) + (T + + + T)>> + +; + T> + + + T> + + + ) + (T + )> + T> + + + T> + + + T> + + + + + ,FATAL-VALUE) + (T + + T)>) + ( + ) + (T + )>> + + + T> + + + T> + + + T> + +> + + + ) + (T + )> + T> + + + ) + (T + )> + T> + + + + + + ) + (T + )>) + (T + )>) + (T + )> + T> + + + T> + + + + + + T> + + + + ,FATAL-VALUE) + ( + + T) + ( + + T) + ( + + ) + (T + )> + T) + (T + + T)>> + + + ) + ( + ) + (> + >> + + + ) + ( + >> + ) + ( + + + + ) + (T + )>) + (T + )> + T> + + + ) + ( + ) + ( + ) + ( + + ) + (T + )>) + (T + )> + T> + +)) + + )> + + ) + ( + + ) + (T + )>) + (T + )> + T> + +> + + + + ) + (T + )> + ) + (T + + > + + + > + + )>) + ( + + ) + (T + )> + ) + (:FIX :FIX> + :FIX> + :FIX> + + + ) + (T + )> + ) + (T + + )> + + + )>> + >)> + T> + + + T> + + + T> + + + > + ) + (T + )> + T> + + + T) + ( + + T) + ( + + + + T) + (T + <>)>> + + + T> + + + + <>) + (ELSE + + T)>) + (ELSE <>)>) + (ELSE <>)>> + + + + T) + ( + + T) + ;( + + T) + ( + + T) + ( + + T) + (<==? ,PRSI ,MOUTH> <>) + ( + + T) + ( + + T) + ( + + + + + ) + (T + )> + + T) + ( <>) + ( + + >> + + T) + (<==? ,PRSI ,RANDOM-OBJECT> <>) + (> + + T) + ( + + >> + + <>) + (T + <>)>> + + + + T> + + + <>) + ( + T) + ( <>) + ( <>) + (> + + T) + (T + <>)>> + + + T> + + + ) + (T + )> + T> + +> + + + > + > + > + >>> + + ) + (> + >> + + + + + ) + ( > + :FIX> + :FIX> + + T) + ( + ) + (T + )> + + ) + (> + + + > + ) + (T + )> + + )> + + + + + )> + + T) + ( + ) + (T + )> + + T> + + + + >> <>) + ( + > + 2> + > + T) + (T + + ,FATAL-VALUE)>) + (T + + + ,FATAL-VALUE)>> + +> + + + + + + + ) + (T + )> + + T> + + + + ) + (T + )> + T> + + + + + + ) + (T + )> + + T> + + + T> + + + T> + +; + T> + + + ) + (T + )> + T> + +> + + > + ) + ( + + ) + (T + )>) + (> + ) + (> + ) + ( + >> + ) + (T + + )> + T> + + + + ,FATAL-VALUE) + (> + + ) + (T + )>> + + + + ,FATAL-VALUE) + (> + + ) + ( + + T) + (T + )>> + + + T> + + + ) + (T + + ) + (T + + )> + )> + T> + + + ) + (T + )> + T> + + + ) + (T + + )> + + T> + + + > + + + ) + (T + + + ) + (T + )> + )> + T> + + + ) + (T + )> + T> + + + T> + + + T> + + + ) + (T + + + )> + T> + +> + + + T> + + + ) + ( + > + >> + ) + (T + + + )>) + ( + + + ) + ( + ) + (T + + )> + T> + + + ) + (> + >> + ) + (T + )> + T> + + + T> + + + ) + ( + > + 3> + + >> + ) + (T + )>) + (T + )>) + (T + )> + T> + + + + + T> + +)) + + > + + ) + (T + )>) + (T + )> + T> + + + ) + (T + )> + T> + + + T> + + > + + ) + ( + ) + (ELSE + )> + T> + + + T> + + + T> + + + T> + + + ) + (T + )> + T> + + + ) + ( + + > + + + ) + (T + )> + T> + + + ) + (T + )> + T> + + + T> + + + T> + + + T> + +> + +) "AUX" OBJ) + > + > + + + ) + ( + )> + >> + + >) + ( + ) + ( + ) + ( + + > + + ) + ( + ) + (T + )>) + ( + ) + (T + )> + T> + + + T> + + + T> + +"*** CHARACTER INTERACTION DEFAULTS ***" + + <>) + ( ,ROOMS> + <>) + (> + + + T) + ( + + + T) + (T + + <>)>> + + ) + (T )> + + + ) + (T + )> + + + T> + + + ,FATAL-VALUE) + ( + + ,FATAL-VALUE) + ( + + T) + (T + + T)>> + +"CHAR = character, OBJ = object of interest, + SUB-TBL = LTABLE of tables, FLAG = char's 'told' flag." + +) + "AUX" (PTR:FIX 1) LEN:FIX TBL SUBJECT) + > + > + > + + > + + + ) + ( + ) + (T + )> + + )> + )> + "\"" CR> + ) + (> .LEN> + )>> + > + + ) + (T + )>) + (T + )> + T> + + + + + ) + (T + + + > + )> + ) + (T + + > + )> + )> + )> + + T> + + + ,FATAL-VALUE) + (T + + T)>> + +> + ) + (T + + ,FATAL-VALUE)>> + + + + ,FATAL-VALUE) + (T + + T)>> + + + )> + + ) + ( + + + ) + (T + )> + T> + + + ) + (T + )> + T> + + + T) + ( + > + ) + ( + > + + > + ) + ( + ) + (T + )>) + (T + )> + T> + + + T> + + + ,FATAL-VALUE) + ( + + T) + ( + > + + T) + ( + + T) + (T + + T)>> + + + T> + + + + + ) + ( + + ) + ( + )>) + ( + + ) + ( + )>) + (T + )>) + (T + )> + T> + +> + + ) + (T + + )> + T> + + + T> + + + T> + + + ,FATAL-VALUE) + ( + >> + + T) + (T + + T)>> + + + + > + )> + + ,FATAL-VALUE) + ( + ,FATAL-VALUE) + ( + + ) + (T + )> + T) + (T + > + ,RANDOM-PERSON> + ) + (T + >)>)> + + + + ) + (T + )> + T)>> + + + + + > + + <>) + ( + ) + (T + + + T)>> + + > + ) + (ELSE <>)>> + + +> + +> + + + ) + (T + )>) + ( + ) + (T + )> + T> + + + ,FATAL-VALUE) + ( + + >) + (T + )> + + + ) + (.OBJ + ) + (T + )> + T)>> + + + T> + + + T> + + + ,FATAL-VALUE) + (T + + T)>> + + + + T) + ( + + ; + T) + (T + )> + T> + + + T> + + + T) + (T + <>)>> + + + T> + + <>) + ( + T) + (T + <>)>> + + + + + ) + (T + )> + )> + T> + + + + )> + + T> + + + T> + +> + >> + ) + (T + )> + T> + + + ) + (T + )> + T> + +) (DIR3 <>) "AUX" X) + + > + + ,FATAL-VALUE>>> + + + > + + ,FATAL-VALUE>>> + + + >)>)> + .X> + + + + + ) + (T + )> + )> + > + + > + + > + + ) + ( + CR> + ) + ( + >> + + ) + (T + + )>) + ( + > + > + )> + > + + + ) + (T + + )>) + ( + > + > + + > + ) + ( + + + ) + (T + + )>)>) + ( + >> + + ) + ( + > + + ) + (T + + )>> + +; )) + + + )> + + > + + + + T> + +> + > ,W?ZZZP ,W?B ,W?C ,W?D ,W?E> + ) + (T .SYN)>> + +> + > + <> .SYN> + ,FATAL-VALUE) + (T + )>> + +> + + + + > + <>) + ( + > + > + + T) + ( + <==? ,HATCH-OBJECT>> + <>) + (> + > + > + > + <>) + (T + )>) + ( + + > + + > + + >> + ; "Make sure we aren't doing something ridiculous" + <>) + (T + )>) + (T <>)>> + +> + +> + + ; "Room has no enter from property" + > + ; "Or we're not in the room in question"> + ; "If we're next door, stop" + >> + ; "First follow whatever path is set up to get out of here" + + + ; "Goto failed for some reason" + .WALK-TO>)> + + ; "Stop if we're where we want to be, or if we're + supposed to enter from here." + )>) + (T )>>)> + >> + > + > >> + > + > + ; "Stop when we reach our current location" + )>) + (T + )>> + + ; "Go to the beginning of the entry path" + >>>> + )> + + >>> + )> + > 0> + )>>) + (T + )>> + + + ) + ( + ) + ( + ) + ;( + ) + (T + )> + T> + +)) + + ,FATAL-VALUE) + (T + + + > + ) + ( + + )> + >> + T)>> + + + ,FATAL-VALUE) + ( + + + ) + ( + + ) + (T + >)> + T) + ( + + + + T) + (T + + T)>> + + + > + > + > + ) + (> + ) + () + (T + + + "put") + (T "obligingly put")> + "on"> + )> + T> + + + T> + +) "AUX" WHO) + + + )> + > + + > <>) + ( + + ) + (T + + )> + + + ) + (T + )> + + T) + (<==? .L ,OTHER-TRAP-DOOR> <>) + ( + + + >> + "can't" <> T> + + T) + ( + + > + >> + + T) + (T + <>)>) + ( + + + T) + (> + + T) + (T + <>)>) + ( <>) + (> + + + <>) + (T + )>) + (T + + + + ) + (T + )> + )>) + (T + <>)>) + (T + <>)>> + +> + + + ) + ( + + + > + "take"> + + + ) + ( + > + ) + (T + )> + ) + ( + ) + (T + + + ) + ( + "pick" "up">) + (T + "take">)> + )> + ; > + ; + + )>)> + T> + +) (S1 <>) (S2 <>) (PLURAL? <>)) + + + ) + (T + + )> + )> + + + )>) + (.S1 + + )> + )>)> + > + + + + + + + + >> + + .ITAKE>)> + > + + > + + )> + <>) + ( + + >> + + )> + <>) + (> + > ,LOAD-ALLOWED>> + + + ) + (T + )> + )> + <>) + ( ,FUMBLE-NUMBER> + + )> + <>) + (T + ; "This will be a number from -1 to -4, depending on the object + (if it is mail). Or between 1 and 4 if it has been + transformed" + > + + > + > + > + + ; "Get the dir entry associated with it-- + printa, etc." + >> + ; "And stuff in there the next program to + print" + > + > + > + ; "Save the letter for the description of the + object" + + 0 + ,W?B) + (<==? .ML 2> ,W?C) + (<==? .ML 3> ,W?D) + (T ,W?E)>> + + + ; "Not the last one" + ) + (T + ; "Leave the remnants of the check + around." + + )> + + > + + ) + (ELSE + + .ITAKE>)>)> + + + + + .L)>> "So that .L an be analyzed." + +> + +"Count # objects being carried by THING." + +> + + ) + (> + >> + >)> + >> + .CNT> + +"Return total weight of objects in THING." + +> + + ) + (> + + > + >) + (T + >>)>)> + >> + > + + >)> + .WT> + +) "AUX" (V? <>) ACT STR) + + > + )> + + + .DR>) + (> + + )> + + + + + )> + + > + > + > + ; "Re-invent stuff so don't need action routine for every + room just to describe it." + + + )> + + ) + ( + )>)>)> + ;,LIT? + T> + + + + + + + + + + + + + + + +> + + + + > + +) "AUX" X) + + + ,M-EXIT>>> + ; "Let the place we are handle this first..." + )> + + + + + )> + + + ;> + ,M-ENTERING>> + > + ) + ( + + + )>)>)> + ,M-ENTERED>> + + T> + +> + )> + > + )> + > + )> + > + )> + T> + + + + + T> + +> + + + T> + +> + +; + T> + + + ) + (T + )> + + T> + + + T> + + + T> + + + T> + + + T> + + + T> + + + T> + +> + + + + + ) + (ELSE + )>) + (T + )> + + T> + + + + + + ) + (ELSE + )>) + ( ) + (T + )> + + T> + +> + + + T> + + + + + + T> + + + ) + ( + ) + (T + )> + T> + + + > + ) + (T + + + + )> + T> + + + > + >> + ) + ( + > + ) + ( + ) + ( + ) + (T + )>) + ( + ) + (> + ) + ( + ) + ( + ) + ( + ) + (T + )> + T> + + + > + ) + (> + ) + ( + ) + (T + )>> + + + ) + ( + + )> + ) + ( + <==? ,P-NUMBER 411>> + + <==? ,P-NUMBER 1212>>> + ) + (> + > + > + + + ) + (> + > + > + + ) + (T + )>) + (> + > + > + + ) + (T + )>) + (> + > + > + ) + (> + >> + + + + + + + + + + + ) + (> + >> + + + + + + + + + ) + (> + > + > + + ) + (T + )>) + ( + > + ) + (T + + + )>) + (T + + + ) + ( + ) + (T + )>)> + + + + )> + T> + +> + + + > + >> + ) + ( + + + ) + (T + )>) + (T + )> + + + + > + )> + > + )> + ) + (T + )>) + (T + )>) + (T + )> + T> + + + T> + + + ) + ( + ) + ( + + ) + (T + )>) + (T + + ,ACT?TAKE> + ,FATAL-VALUE)>> + + + >)> + + > + + + + + ,PERSON-MASK>>> + + + ) + (T + + > + )> + + )>) + (T + + )>)>)> + + ) + (T + )>> diff --git a/xjet.zil b/xjet.zil new file mode 100644 index 0000000..e6d2b4d --- /dev/null +++ b/xjet.zil @@ -0,0 +1,2967 @@ +"XJET for BUREAUCRACY: Copyright 1987 Infocom, Inc. All rights reserved." + + + + + +"New Bywater theory" + + + + + + + + + + + ; "Put smoker/non-smoker in next seat." + + T> + + + + + ) + ( + > + ) + ( + > + + ) + (> + ; "Not on the plane" + + T) + ( + T) + (T <>)>> + + +"Basic airplane stuff. Aisle to move around in, seats to sit in, etc." + +; "Generic AISLE room..." + + + + + +) (NEWVAL <>)) + + ,ROW-SEEN-BIT>>> T) + (T <>)>) + (T + ,ROW-SEEN-BIT>) + (T + + >)>>)>> + + )> + + + ,STARBOARD-DIVISOR> + *17*>) + (T + + <* .NEW ,STARBOARD-DIVISOR>>>)>> + + + )> + + + ,PORT-DIVISOR> + *17*>) + (T + + >>)>> + + )> + )> + .N> + ;>>> + + ; "Starboard side" + ) + (T + )>)>> + +> + + ,ALL-SEATS>> + + + + > + ,ALL-SEATS> + ) + (<0? .SEAT-MASK> + ) + (T + > + > + > + + >) + ( + > + >>>> + + >) + (T + + .FF? + T) + (T <>)>>)> + > + > 4> + )>>)> + + ) + (<==? .RARG ,M-BEG> + + + ,ALL-SEATS>> + >>> + + + + )>> + T) + (T <>)>) + ( <>) + ( + > + > + + ,M-EXIT>>> + )> + + )> + )> + + > + + + T) + ( + ) + ( + + T) + ( + + T) + ( + + T) + (T <>)>) + (T <>)>> + +) + (T + )> + + " and " CHAR >> + " are " .TAILSTRING> + ) + (T + )>> + + + )>> + +) + "AUX" (NEW-ROW ) (NEW-SEAT )) + + <==? .NEW-ROW ,CURRENT-ROW> + <==? .NEW-SEAT ,CURRENT-SEAT>> T) + (T <>)>) + ( + + <>) + ( + > + + + <>) + (T T)>) + (T + + <>)>> + + "OPT" (ROW: <>)) + )> + )> + .SEAT> + ;>>> T) + (T <>)>> + + FF? "OPT" (LAST? <>) "AUX" PERS) + + >> + + ) + (T + )>) + (T + + )> + ) + (T + )>> + + %) + (<==? .N ,SEAT-B> %) + (<==? .N ,SEAT-C> %) + (<==? .N ,SEAT-D> %)>> + +)) + ) + (T + )> + >> + +> + +"Wander the aisle. Front goes to Galley, back goes to area outside + lavatory." +)) + ,GALLEY>> + + + + )>> + + + + + ,GALLEY) + (T + > + > + + )> + + > + ,AISLE)>) + (<==? ,P-WALK-DIR ,P?SOUTH> + + ,LAV-LOBBY) + (T + > + > + + )> + > + + ,AISLE)>)>> + +>> + >)> + > + + + ; "North is forward, so east is to C & D" + + ) + (T + + )> + > + > + > + + <>) + (> + + <>) + ( + + + ,SEAT) + ( + + + ,SEAT)>> + +; "Miscellany around the seat." + + + <>) + ( + + + T) + (T + + + + T)>) + ( + + + + + T) + (T + )>)>> + + + +)) + + + + )>) + ( <>) + ( + + + )>)>> + + + + + + + + <>) + ( + > + > + ) + (> + ) + (T + + + )>) + ( + ) + ( + ) + (T + )>)>> + +>> + ,AISLE-COUNT) + (<==? .OFFS ,AISLE-COUNT> + .OFFS) + (T )>> + + )> + + + ) + (T + >)> + >) + (T + + ) + (T + >)> + >)>> + .START> + +) (SEAT )) + + + ) + (T + )> + + + > + +) (SEAT ) WHO) + + <==? .SEAT ,SEAT-A> + >> + + ) + (> + + + ) + (T + )> + ) + (T + )>> + +)) + + ) + (T + + > + + + ) + (T + )> + )>)>> + + 2>>> + +) + (SEAT ,CURRENT-SEAT) (BIT .SEAT) OFFS BITS WHICH) + > >)> + + >>> + + )> + >>> + .BIT> + ; "Lights already on" + >> + ) + (T + + >)> + > + +>> + + > -1> + ) + (T + )> + ) + (T <>)>> + + + + + + + )>> + + + + + )>> + + + + + + + + ) + (T + )> + T) + (T <>)>> + +> + >) + (T + + CHAR >>)>> + + T) + (T <>)>> + + + <==? ,P-WALK-DIR ,P?WEST>> + + <==? ,P-WALK-DIR ,P?EAST>> + <==? ,P-WALK-DIR ,P?OUT>> + ; "Move into the aisle" + + + ,AISLE) + ( + <==? ,CURRENT-SEAT ,SEAT-D>> + + <>) + (T + + >>) + (T + >>)> + + > + + + ) + (T + )> + <>) + (T + + + ,SEAT)>)>> + +> + ".\"" CR> + T) + (T <>)>> + + +; "The seat itself" + + + + > + + >> T) + (T <>)>> + +) "AUX" (NEW-ROW ) + (NEW-SEAT )) + + + " on your unbelievably luxurious Air Zalagasa flight to wherever it is you're going." CR> + > + ) + (T + )> + + + + )> + + + > + + > + )> + + + )> + T) + (<==? .CONTEXT ,M-BEG> + + > + ) + ( + > + + T) + (T <>)>) + (<==? .CONTEXT ,M-EXIT> + T) + (T + + + + + )>)>) + ( <>) + (> + ) + ( + + + )> + T) + ( + + > + ) + (T + + )>)>) + ( + + + T) + ( + > + ) + (T + + + T)>) + ( + + ,M-EXIT>>> + )> + + <==? ,CURRENT-ROW .NEW-ROW> + <==? ,CURRENT-SEAT .NEW-SEAT>> + ) + ( ) + ( + + + ) + (T + + + )> + + + )>) + (T + )> + + + + > + )> + + T) + ( + + <==? .NEW-ROW ,CURRENT-ROW>> + ) + ( + + 0> + + >)> + ) + (T + )>) + (> T) + ( + + ) + (T + )>) + ( + + ) + (T + )>)>> + + + + )> + + > + + + > + )> + > + + + + + <==? ,CURRENT-ROW 3> + > + >> + ) + ( + >> + + >>> + + )>)>> + +> +> + +)) + + + + > + <==? ,CURRENT-SEAT > + > + ; "Just returned to previous seat, so OK" + T) + (T + > + > + )> + > + )> + > + )> + + + >> 0> + + + "! Please don't let it happen again.\"" CR CR> + )>)>)>> + +)) + + "Ma'am") + (T "Sir")>) + (,SEX "ma'am") + (T "sir")>> + +"Get personal belongings out of seat, and give them to steward for return." +) + "AUX" NOBJ LEN (N 0)) + > + > + >)> + + >> + > + > + > + + )> + ) + (T + >)> + )>>)> + .N> + +> + +; "Make sure we've got a good seat number, and set things up so the + parser will like it." + + + >> + + + + + +) + (NMLEN )) + > + > + )>)>)> + + + > + T) + (T <>)>) + (T <>)>) + (T <>)>) + (T <>)>> + +) + (NMLEN ) + TAB) + + > + <>) + ( + ,LAV-LOBBY) + (> + 2>> + 2>>> + ,LAVATORY) + ( + ; "Random person/object" + ) (VEC ) + (COULD-BE-PERSON? <>) TMP (WIN? <>) ONAM) + > + ; "Kludged due to compiler bug" + <==? .ADJ >> + <==? .NAM .ONAM>> + )>)> + + <==? .NAM .ONAM>> + )>)> + > ,OBJECT-BREAK> + + ) + ( + >> + ; "Don't recognize any of these guys except + when they're actually present." + + + ) + (T + )> + + ) + (T + ; "Allow search to continue, since there may be + other matches later in the vector." + )>)> + > 3> + )> + .MATCH>)> + > + >>) + ( + > + + <==? .ADJ ,W?INTNUM> + > + + ) + (T + + + >)> + )> + + ,SEAT-A) + (<==? .NAM ,W?C> + ,SEAT-B) + (<==? .NAM ,W?D> + ,SEAT-C) + (<==? .NAM ,W?E> + ,SEAT-D)>> + ,SEAT)>) + ( + > + + > + >)> + + + ,SEAT) + ( + <==? .NAM ,W?INTNUM>> + + > + ,FATAL-VALUE) + (T + + ,AISLE)>) + ( + > + 1>> + >> + + > + ,FATAL-VALUE) + (T + + + ,SEAT)>)>> + +;"Object for useless random objects on the airplane: the escape + hatch, etc." + +> +> +> +> +> +> + + + + + + + + + + + + +)) + + ) + (<==? .WHICH ,HATCH-OBJECT> + ) + (<==? .WHICH ,GRANDCHILDREN-OBJECT> + ) + (<==? .WHICH ,MEAL-OBJECT> + ) + (<==? .WHICH ,BABY-OBJECT> + ) + (<==? .WHICH ,MOVIE-OBJECT> + )>> + + T) + (T <>)>> + +) + "AUX" (WHICH ) + STR) + + + ) + ( <>) + (> + "the hatch">) + ( + <>) + ( + 1> + ) + (T + )>) + ( + 0> + + ) + (T + + )>) + ( + > + + ) + (T + + > + ) + (T + )> + )>) + ( + + ) + (T + )>) + ( + + + T) + ( + + + + T) + (T + + T)>) + ( + ) + ( + <==? ,HERE ,OUTSIDE-PLANE>> + + T) + (T <>)>) + (<==? .WHICH ,MOVIE-OBJECT> + > + ) + ( <>) + ( + ) + ( + > + > + ) + (T + )>)>) + (<==? .WHICH ,BABY-OBJECT> + > + ) + ( ,MOMMA-PERSON> + ) + ( + ) + ( + )>) + ( + <==? .WHICH ,RECIPE-OBJECT>> + > + ,BUSINESS-PERSON>> + ) + ( + + ) + (T + )> + T) + ( + ) + ( + + + <==? + ,BUSINESS-PERSON>> + <>) + (T + )>) + (T <>)>)>) + (<==? .WHICH ,GRANDCHILDREN-OBJECT> + > + ) + ( + + <==? ,PRSO ,RANDOM-PERSON> + <==? + ,GRANDMA-PERSON>> + <>) + (T + )>)>> + + + ,HATCH-OBJECT + <> + ,HATCH-OBJECT + <> + ,HATCH-OBJECT + <> + ,FORM-OBJECT + + ,FORM-OBJECT + + ,FORM-OBJECT + + ,FORM-OBJECT + + ,FORM-OBJECT + + ,VISA-NUMBER-OBJECT + + ,VISA-NUMBER-OBJECT + + ,VISA-NUMBER-OBJECT + + ,VISA-NUMBER-OBJECT + + ,VISA-NUMBER-OBJECT + + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + + ,GRANDCHILDREN-OBJECT + + ,GRANDCHILDREN-OBJECT + + ,GRANDMA-PERSON + <> + ,GRANDMA-PERSON + <> + ,GRANDMA-PERSON + + ,COMPUTER-OBJECT + + ,COMPUTER-OBJECT + + ,COMPUTER-OBJECT + + ,COMPUTER-OBJECT + + ,COMPUTER-OBJECT + <> + ,COMPUTER-OBJECT + + ,BUSINESS-PERSON + + ,BUSINESS-PERSON + <> + ,BUSINESS-PERSON + + ,BABY-OBJECT + + ,BABY-OBJECT + + ,BABY-OBJECT + + ,MOMMA-PERSON + <> + ,MOMMA-PERSON + + ,MOMMA-PERSON + <> + ,MOMMA-PERSON + + ,MOVIE-OBJECT + + ,MOVIE-OBJECT + + ,SMOKER-PERSON + + ,SMOKER-PERSON + <> + ,SMOKER-PERSON>> + +> + + + +)) + + + <>) + (T <>)>> + + + +) "AUX" (HO )) + + + <>) + ( + > + + + > 4> + "> + > + + + )> + T) + (T + + T)>) + (<==? .CONTEXT ,M-EXIT> + + + + + <>) + (T <>)>) + (T <>)>> + + + + + + ) + ( + )>)>> + + + +> + + + + + + + + )> + + + > + >> + )> + + <>) + (<==? .CONTEXT ,M-EXIT> + + + <>) + (<==? .CONTEXT ,M-BEG> + + > + ) + (T + )> + + T) + ( + > + ) + (T + )> + > + T) + ( + + + + + T)>) + ( <>) + (> + ) + ( + + + ) + (T + + )> + + + T)>)>)>> + + + + + <>) + ( + + + + T) + ( + ; "This will unlock the door, and check for waking + up at the end of the food scene." + T) + (T + + T)>) + (T + <>)>) + ( + + ) + (T + + + )>) + ( + + + + ) + (T + )>) + (T <>)>> + + + + +> + + + + + + + + > + + + )>)> + .IB>> + + + +)) + .LEN> + ,RECEPTACLE) + (T <>)>> + + + + > + ) + (T + )> + T) + ( + > + + + ) + (T + )> + T) + ( + + T) + (T + <>)>) + ( + > + ) + (T + )> + T) + ( + + T) + (T <>)>> + + + +)) + > )> + + <>) + ( + > + > + )> + <>) + ( + + ) + (T + )> + + T) + ( + + <>) + (> + <>) + (T + + + + + >)> + + T)>) + ( + > + + > + + T) + (T + + T)>) + ( + + T) + ( + > + + T) + ( + + T) + (T + <>)>> + +> + ) + (T + > + )> + T> + +> + + T) + (> + + T) + (T + + + + + T)>> + +> + > 3> + + > + > ,NUMBER-OF-TUNES> + )> + + + + >> + + + )>)> + + .PHONES>> + + + + + > + +> + >> + + + + + ) + ( + + ) + ( + + + ) + ( + + )> + + + ) + (T + )> + + + > + +> + +)) + > + > + >> + + + + + ) + (T + )> + ) + ( + + ) + (T + )> + ) + ( + + > + + + + )> + + > + + + + + + + + +) (MALE <>)) + + + >)> + 0 .XFEMALE>)>) + (T + + + >)> + 0 .MALE>)>)> + > + + + + > + ,W?STEWARDESS ,W?STEWARD> + + ) + (T + + )>> + +> + + > + + + "?\"" CR> + > + + + > + +)"AUX" LOSERS-ROW) + + + + ) + ( + ) + ( + )>) + ( <>) + ( + + <>) + ( + + ", but I'm not authorized to say anything about that.\"">)>)>) + ( + > + ) + (T + )>) + (T + + + + ,FATAL-VALUE) + (T T)>)>> + + + +> + .IRTS>)> + >)> + > + + )> + + + T> + +) "AUX" (SJ? <>)) + > <>) + ( + + + >> + + ) + (T + )> + + ". People who don't pay attention to our regulations can't be permitted to continue on the flight. Why, you could be hurt!\" " + + " looks thoughtful for an instant, and then reaches a decision" + ,PCR> + ; "You dead, Jack" + <>) + (T T)> + .SJ?> + T) + (T + + + T)>> + +> + +)) + + )>) + ( + + <>) + (T + + + + + T)>> + +;"meal-state: + 1: meal has been served (always what the loser didn't want) + 2: meal done (loser either mungs it or eats it). If doesn't + happen within five moves, give warning. If eaten, go to state 4. + 3: if meal still not eaten, throw loser off. Otherwise, to state 4. + 4: bad breath noticed--neighbor looks slightly green, rings for + stewardess, who produces toothbrush, suggests using it. + 5: after enough moves to get to lavatory, if not there, throw + off for having bad breath. + 6: in lavatory, immediately run return-to-seat. + 7: If don't wipe + sink, throw off for that as soon as leaves seat; otherwise, + too late on return to seat, throw off for that." + +> + > + )>) + (> + ; "Too late, loser" + > + )>) + (T + )> + > + +)) + + 5>> + + <>) + (T + > + >> + > + + ; "Time to serve meal" + "? The Chicken +Kiev, or the Peking Duck?\"" CR> + )) + > + + ) + ( + >) + (T + + + )> + + ", we're all out of that. Would you like the "> + ) + (T )> + + + + + >> + + ; "5 moves to eat it" + + ) + (T + + + + + ; "Naughty, naughty" + )>>) + ( + <0? .Y>> + ; "Counter ran out" + + > + ; "Meal eaten" + + + )> + + ; "Ready to offend neighbor" + ) + ( + + + <>) + (T + + + "! We can't have this! Our chef would be +mortally wounded if she discovered that one of her meals was wasted. Why +not make it easy on yourself and eat the food? I'm told it's absolutely +scrumptious.\"" CR " stands in the aisle, watching +you." CR> + ; "Now have two moves to eat the damn food, + otherwise thrown off." + + )>) + (<==? .X 3> + + > + + " takes your plate and hurries off." CR> + + + ) + (T + ".\"" + CR CR> + + ; "Tsk." + )>) + (<==? .X 4> + ; "Anybody in neighborhood notices stench." + > + + + <>) + (T + + + + T)>) + (<==? .X 5> + + + + <>) + (T + + + + ", but some of our passengers have noticed +that you're suffering from halitosis. In fact, they suggest that they may +be forced to use their discomfort bags if something isn't done about it.\" " + " is starting to +look a little green. \"I think it would be a very good idea for you +to use this, before we have to take stronger measures.\"" CR CR + + " hurries off, leaving you holding " + A ,TOOTHBRUSH ,PERIOD> + + + >) + (<==? ,HERE ,GALLEY> + ) + (T + )>)>) + (<==? .X 6> + > + + + + <>) + (T + + ", but we gave you every chance. For the +sake of everyone's health, we're going to have to do something about this.\"" + CR CR> + ; "Die" + )>)>) + (<==? .X 7> + + >> + + + ". You brushed your teeth in the lavatory, +and left quite a mess in the sink. You're being most discourteous to your +fellow passengers, " + + ". We can't tolerate this sort of behavior +on a civilized airline.\" " " is now accompanied +by a hefty young man who looks a little too eager for action" ,PCR> + ; "Too bad" + ) + (> + + + + )> + T) + (T + + <>)>)>)>)>> + + + + + + T)>> + + + + + + )>)>> + + + + + + ) + ( + + >> + ) + (T + )>> + + + + + + ) + ( + + + )>) + ( + + ) + ( + + )>) + ( + + ) + (T + )>)>> + + + + + + + + + + +",\" says the attendant." CR> + T) + ( + > + ) + ( + + + + T) + ( + + ) + (T + + )>) + ( + ) + ( + + ) + (T + )>)>) + ( + + )>)>> + +> + + + +> + + + ) + ( + + )>) + ( + > + + T) + ( + + + + ) + ( + + )> + + ) + ( + + + )> + + + + ) + ( + > + > + + )> + + + )>)> + + + + )> + .CHUTE>) + ( + > + + ) + ( + + ) + ( + + )> + + + )> + + T) + ( + + T) + (> + ) + ( + + + T) + ( + + T) + ( + + ) + (T + )> + T) + (T <>)>> + + + + + + ) + (T + + + ) + (T + > + + + + + + > + >> + ) + (T + )>)>)> + T> + + + + ) + ( + + + )> + + + + T> + + + +> + + T) + ( + <>) + ( + + + )> + + T) + ( + + T) + (T + <>)>> + + + + + + T> + + + + T> + + + + + ) + (T + )> + T> + +)) + + + + )> + + T) + (T + <>)>> + + + +)) + + + + ) + (T + )> + + T) + (T + <>)>> + + + + > + T) + (T + <>)>> + + +"Code for other passengers" + + +"Initialize state of seating: all rows are full, except for smoker/non-smoker + rows, which we handle on boarding. Other four people are put randomly around + plane, no more than one per row." + +> + + + + > + > + > 1> + > + ) + (T + >)> + + ,ALL-SEATS> + > + ; "Seat to leave blank" + + ) + (T + )> + > + + + )> + + + >> + ; "Set up personality in seat next to blank seat" + >)> + )>>> + + + > + + + > + >> + >> + >>)> + > " " + > " with " + >>> + + + + + > + +)) + .N>> + + + <==? .N>> T) + (T <>)>> + + + <==? .N>> T) + (T <>)>> + + + <==? ,PRSI ,AIRLINE-MEAL> + + >> + +> + +) + "AUX" (OWINNER ,WINNER) VAL) + + > + + .VAL> + + + >)> + + + ; "FOO, HELLO becomes HELLO FOO" + + T) + ( + > + ) + ( + > + ) + ( + + T) + ( + > + ; "FOO, GIVE ME BAR becomes TAKE BAR FROM FOO" + ) + ( + > + >> + ) + (T + + + >)>)> + T) + ( + ) + (T <>)>) + ( + >)> + + + )> + ) + (<==? .N ,GRANDMA-PERSON> + + )> + ) + (<==? .N ,BUSINESS-PERSON> + + ) + (T + )>) + (<==? .N ,MOMMA-PERSON> + + ) + (T + )>)>) + ( <>) + ( + > + + + >)> + T) + ( + > + ) + ( + + > + + + ,FATAL-VALUE) + (T <>)>) + (<==? .N ,GRANDMA-PERSON> + ) + (<==? .N ,SMOKER-PERSON> + ) + (<==? .N ,BUSINESS-PERSON> + ) + (<==? .N ,MOMMA-PERSON> + )>) + (<==? .N ,GRANDMA-PERSON> + ) + (<==? .N ,SMOKER-PERSON> + ) + (<==? .N ,BUSINESS-PERSON> + ) + (<==? .N ,MOMMA-PERSON> + )>> + + + + ) + (T + + >)>> + + + + > + ) + (T + )>) + ( + + + ) + ( + >> + + > + + + + + )> + ) + ( + + ) + (T + )> + ) + ( + ) + (T + + + )>) + ( + )>> + +> <>) + ( + + T) + (T <>)>> + +> + + + > + ) + ( + + > + + + )>) + (> + ) + (T + )>)>> + + + > + + + ; "boy touching..." + > + + ) + (T + + T)>) + (T + )>) + ( + + ) + ( + > + ) + (T + )>) + ( + >> + > + ) + (T + )>) + (T + )>) + ( + ) + ( + ) + (T <>)>> + + + > + ) + (T + )> + ) + ( + > + ) + (T + )>)>> + + + > + ) + (T + )>) + ( + + > + ) + (T + )>) + ( + > + + + ) + (> + ) + (T + + + + )>) + ( + ) + ( + > + ) + ( + > + + ) + (T + )>) + ( + ) + (T + )>) + ( + )>> + + + > + ) + (T + )>) + ( + + + + )>> + + + + > + )>) + ( + ) + (T + )>) + ( + )>> + + + 8> + )>> + + + + > + ) + (T + )>) + ( + ) + ( + > + + + + ) + (T + )>) + ( + ) + (T + )>) + ( + )>> + + + + + + + + T) + ( + + + + T) + (T + + + )>)>) + ( + ) + ( + ) + ( + + + + + T) + (T + )>)>> diff --git a/xjetdefs.zil b/xjetdefs.zil new file mode 100644 index 0000000..975a957 --- /dev/null +++ b/xjetdefs.zil @@ -0,0 +1,98 @@ + + + + + + + + + +) + (MEAL-HERE? BYTE <>) + (MEAL-SQUASHED? BYTE <>) + (MEAL-EATEN? BYTE <>) + (BUTTONS-OFF? BYTE <>) + (SITTING? BYTE <>) + (PHONES-PLUGGED-IN? BYTE <>) + (CURRENT-STAR BYTE 0) + (CURRENT-DESC BYTE 0) + (CURRENT-WEAPON BYTE 0) + (LOSER-CANT-LEAVE-SEAT? BYTE <>) + (PURSER-HERE? BYTE <>) + (PHONE-MUSIC:FIX BYTE 0) ; "Headphone stuff" + (PHONE-TIMER:FIX BYTE 0) ; "Random" + (LAST-ROW:FIX BYTE 0) ; "Previous row occupied" + (LAST-SEAT:FIX BYTE 0) ; "Previous seat" + (NEW-ROW:FIX BYTE 0) + (NEW-SEAT:FIX BYTE 0) + (RETURN-TO-SEAT-WAIT:FIX BYTE 0) + (GRANDMA-HAPPY? BYTE <>) + (SMOKER-IRATE? BYTE <>) + (BUSINESS-IRATE? BYTE <>) + (FALL-SCRIPT:FIX BYTE 5) + (CURRENT-NEIGHBOR BYTE 0) + (FLIGHT-ATTENDANT-HE/SHE:STRING "She") + (FLIGHT-ATTENDANT-HIM/HER:STRING "her")> + +> + +> + +> + +> + + ,ALL-SEATS>) + (T + + >>>)>> + +; "State of seating is low four bits; starboard passenger, if any, is next + four; port passenger is next four. Three remaining bits below the sign + bit can be used for flags." + + + + + +> + + + + + + + + diff --git a/xxjet.zil b/xxjet.zil new file mode 100644 index 0000000..491ab63 --- /dev/null +++ b/xxjet.zil @@ -0,0 +1,3766 @@ +"XXJET for BUREAUCRACY; Copyright 1987 Infocom, Inc. All rights reserved." + + + + + + + + + + + + + + + ; "Put smoker/non-smoker in next seat." + + + + + + + T> + + + + ; + + + + + + + + + + + + > + + + + + + ) + ( + ) + (> + ) + ( + + ) + (T + )>) + ( + ) + ( + > + ) + ( + > + + ) + (> + ; "Not on the plane" + + T) + ( + T) + (T <>)>> +\ +"Basic airplane stuff. Aisle to move around in, seats to sit in, etc." + +; "Generic AISLE room..." + + + +) (NEWVAL <>) + "AUX" (BIT )) + + .BIT> T) + (T <>)>) + ( + .BIT>>) + (T + >>)>> + + ,PERSON-MASK>> + +> 0) + (T 1)>> + +> + +) "AUX" OLD) + > + + > + > 255>)> + .ROW>)> + > + .WHO> .SEATNUM .ROW> + >> + > + .WHO> + .SEATNUM .ROW>)>> + + )> + )> + > 4> + >> + .NEW>> + + )> + )> + > 4> + >>>> + + )> + <+ + + + >> + + + <==? ,P-DIRECTION ,P?SOUTH>> + + <==? ,P-DIRECTION ,P?NORTH>>> T) + (T <>)>> + + + + > + > + > + > + + + + > + ) + ( > + ) + (T + > + T>)> + + )> + + ) + (<==? .RARG ,M-BEG> + > + + > + + + T) + (<==? ,P-DIRECTION ,P?WEST> + + T) + ( + ; "Looking up or down the aisle" + + > + + + ,PERSON-MASK> + ) + (T + + >)> + ) + (T <>)>) + ( + > + + 9> + ) + (<0? >> + ) + (T + )>) + (T <>)>)>) + (T <>)>) + ( + + > + + > + >) + (T + + )>> + + + T) + (T + <>)>) + (T <>)>) + (<==? .RARG ,M-ENTERED> + + ) + (T + >)> + + <==? ,CURRENT-ROW >> + + <==? ,CURRENT-ROW >>> + + + > + ) + (T + )> + )> + <>) + (<==? .RARG ,M-ENTERING> + + <>) + (<==? .RARG ,M-EXIT> + > + <0? >> + + )> + > + + + )> + <>) + ( <>) + ( + > + > + + )> + )> + + > + + + T) + ( + ) + ( + + T) + ( + + T) + ( + + T) + (T <>)>) + ( + ) + (T <>)>> + +> + >> + + ) + (<==? .P1 .P2> + ) + (T + > + .P2 <> .LAST?>)>> + +) + (T + )> + + " and " CHAR >> + " are " .STR> + + ) + (T + )>> + + + )>> + + + > + + >> + T) + (T <>)>> + +) + "AUX" (NEW-ROW ) (NEW-SEAT )) + + <==? .NEW-ROW ,CURRENT-ROW> + <==? .NEW-SEAT ,CURRENT-SEAT>> T) + (T <>)>) + ( + + <>) + ( + > + > + + <>) + (T T)>) + (T + + <>)>> + +>> + +)) + ) + (T + )> + >> + + + ) + (T + ) + (T + )> + + ) + (<==? .WHO ,ZALAGASANS-PERSON> + ) + (<==? .WHO ,FROBOZZCO-PERSON> + ) + (<==? .WHO ,MOMMA-PERSON> + )> + ) + (T )>)>> + + PERS FF? "OPT" (LAST? <>)) + + + ) + (<0? .PERS> + ) + (T + + )> + ) + (T + )>) + (T + )>> + +> + +"Wander the aisle. Front goes to Galley, back goes to area outside + lavatory." +)) + ,GALLEY>> + + + + + ; "In case f.a. is in galley" + + )>> + + + + + ,GALLEY) + (T + > + > + ,AISLE)>) + (<==? ,P-WALK-DIR ,P?SOUTH> + + ,LAV-LOBBY) + (T + > + > + ,AISLE)>)>> + +> + + ) + (T + )> + > + + + + ) + (T )>) + (T + + )> + > + >> + )> + > .LAST> + )>> + + + )>> + + + ; "North is forward, so east is to C & D" + + ) + (T + + )> + > + > + > + + <>) + (> + + <>) + ( + + + ,SEAT) + ( + + + ,SEAT)>> +\ +; "Miscellany around the seat." + + + <>) + ( + + + T) + (T + + + + T)>) + ( + + + + + T) + (T + )>)>> + + + +)) + + + + )>) + ( <>) + ( + + ) + ( + >> + + + T) + ( + + )>)>> + +>> + ,AISLE-COUNT) + (<==? .OFFS ,AISLE-COUNT> + .OFFS) + (T )>> + + )> + + + ) + (T + >)> + >) + (T + + ) + (T + >)> + >)>> + .START> + +) (SEAT )) + + + ) + (T + )> + + + > + + + <>> + + + + <>> + +) (SEATNUM ) WHO + (CT )) + 1>> + <==? .SEATNUM > + >> + ; "Table up" + > + > + > + + ,CURRENT-ROW> ) + (T )> + + + ) + (T + )> + > 5> + + ) + (T + )>> + + + ) + (T + )> + + >>)> + + + ) + (T + + >> + + + ,FOOD-MASK>>> + >>>>>>> + ) + (T + ,FOOD-MASK> + .SEATNUM .ROW> + + ) + (T )> + >> + " the seat in front of "> + + + ) + (T + + )> + )>)> + > + + ;"LIGHT" + > + ) + (<==? .WHICH ,LIGHT-BUTTON> ;"RECLINE" + > + >) + (T + > + >)> + >>>> + +) (SEATNUM ,CURRENT-SEAT) + DATA ON? WHICH) + > + >> + > .SEATNUM .ROW> + >) + (T + .SEATNUM .ROW> + )> + + >>> + ) + (.ON? + ) + (T + )> + > + +> + +)) + + > <>) + (T T)>) + (<0? .NEW> + >>) + (T + >)>> + +>> + + + ) + (T + )> + ) + (T <>)>> + + + + + + + > + <>) + ( + >> + )>)>> + + + + + )>> + + + + + )>> + + + + + )>> + + + + + + + + ) + (T + )> + T) + (T <>)>> + +> + >) + (T + + CHAR >>)>> + + + <==? ,P-WALK-DIR ,P?WEST>> + + <==? ,P-WALK-DIR ,P?EAST>> + <==? ,P-WALK-DIR ,P?OUT>> + ; "Move into the aisle" + + ,AISLE) + ( + <==? ,P-WALK-DIR ,P?WEST>> + + <==? ,P-WALK-DIR ,P?EAST>>> + + <>) + (T + + >>) + (T + >>)> + + > + + + ) + (T + )> + <>) + (T + + + ,SEAT)>)>> + +> + ".\"" CR> + T) + (T <>)>> + + +; "The seat itself" + + +)) + + > + <>) + (<==? <+ .SS ,CURRENT-SEAT> 5> + ; "seat 2 to seat 3, or vice versa--aisle" + + T) + (T + T T> + T)>> + +) "AUX" (NEW-ROW ) + (NEW-SEAT ) PERS) + + + + + )> + + + + + + + )>)> + > + )> + > + )> + ,LIGHT-MASK>>> + )> + + + + )> + + + > + + + + ,SEAT-C>> + + + ,SEAT-D>>> + ) + (T + )> + > + )> + + )> + + + )> + T) + (<==? .CONTEXT ,M-BEG> + + > + ) + ( + > + + T) + ( + > + + ) + (<==? ,P-DIRECTION ,P?WEST> + ) + (T <>)>) + (T <>)>) + (<==? .CONTEXT ,M-EXIT> + T) + (T + + <>)>) + (<==? .CONTEXT ,M-ENTERING> + + > + <==? ,CURRENT-ROW > + <==? ,CURRENT-SEAT > + >> + + + + + )> + )>) + ( <>) + (> + ) + ( + + ,CURRENT-SEAT> + ,CURRENT-ROW>>> + ) + ( + + + )> + T) + ( + + > + ) + (T + + )>)>) + ( + + + T) + ( + > + ) + (T + + + T)>) + ( + + <==? ,CURRENT-ROW .NEW-ROW> + <==? ,CURRENT-SEAT .NEW-SEAT>> + + ) + ( ) + (> + + + ) + (T + + + + + )>) + (T + )> + + + + > + + + T)>) + ( + + <==? .NEW-ROW ,CURRENT-ROW> + > + ) + (> + + > + ,PERSON-MASK> + + )> + ) + (T + )>) + (> T) + ( + + ) + (T + )>) + ( + + + T) + ( + + ) + (T + )>)>> + +> + <==? ,CURRENT-SEAT > + > + ".\" She looks as if she is almost tempted to +be polite, except that she doesn't know how, and walks away." CR>)>> + + ",\" she says, and walks away." CR> + + > + +> + ) + (T + + + ) + (T )> + ", we'd appreciate it. We need to talk to all the +passengers about something.\"" CR CR CTHE ,FLIGHT-ATTENDANT " seems strangely +reluctant to leave." CR> + )> + T> + + + > + +) "AUX" NEIGHBOR) + > + )> + > + + + )> + + > + + + > + )> + > + + + T) + (> + > + ) + ( + >>> + + >>>> + + )>)>> + +> +> +> + + + + + + + + ) + ( + ) + ( + + ) + (T + + + ,UNDER-SEAT>> + ) + (T + )>)>)>) + ( + > + <==? ,CURRENT-ROW > + <==? ,CURRENT-SEAT >> + ) + (T + + + )>) + ( + )>> + +)) + + + + > + <==? ,CURRENT-SEAT > + > + ; "Just returned to previous seat, so OK" + T) + (T + > + > + )> + > + )> + > + )> + + )> + + ) + (T + )> + + + > + > 0> + + + "! Please don't let it happen again.\"" CR CR> + )>)> + > + )>)>> + +)) + + "Ma'am") + (T "Sir")>) + (,SEX "ma'am") + (T "sir")>> + +"Get personal belongings out of seat, and give them to steward for return." + +> + > + >)> + + >> + > + > + > + + )> + ) + (T + >)> + )>>)> + .N> + + + +) + (NMLEN )) + > + > + )>)>)> + + + > + T) + (T <>)>) + (T <>)>) + (T <>)>) + (T <>)>> + + + + + +) + (NMLEN ) + TAB) + + > + <>) + (> + <==? .NAM ,W?BUTTON>> + ,FATAL-VALUE) + ( + <==? .NAM ,W?BUTTON>> + + ,P-NC1) + (T ,P-NC2)>> + + <>> + + ,FATAL-VALUE) + ( + ,LAV-LOBBY) + ( + ,LAV-LOBBY) + ( + > + ,AISLE) + ( + ; "Random person/object" + ) (VEC ) + (COULD-BE-PERSON? <>) TMP (WIN? <>) ONAM + PPROW) + > + ; "Kludged due to compiler bug" + <==? .ADJ >> + <==? .NAM .ONAM>> + )>)> + + <==? .NAM .ONAM>> + )>)> + > ,OBJECT-BREAK> + + ) + ( + >> + ; "Don't recognize any of these guys except + when they're actually present." + + + ) + (T + )> + + ) + (>> + ,CURRENT-ROW> + > + ) + ( + <==? .PPROW <- ,CURRENT-ROW 1>> + <==? > + .TMP>> + ) + ( + ; "Allow search to continue, since there may be + other matches later in the vector." + )>)> + > 3> + + > + + + ) + (T + )> + + ) + (.COULD-BE-PERSON? + )> + .MATCH>)> + > + >>) + ( + > + + <==? .ADJ ,W?INTNUM> + > + + ) + (T + + + >)> + )> + + ,SEAT-B) + (<==? .NAM ,W?C> + ,SEAT-C) + (<==? .NAM ,W?D> + ,SEAT-D) + (<==? .NAM ,W?E> + ,SEAT-E)>> + ,SEAT)>) + ( + > + + > + >) + (T + + )> + ,SEAT) + ( + <==? .NAM ,W?INTNUM>> + + > + ,FATAL-VALUE) + (T + + ,AISLE)>) + ( + > + 1>> + 1>> + + > + ,FATAL-VALUE) + (T + + + ,SEAT)>)>> + + T) + (T <>)>> + + + +)) + + + <>) + (T <>)>> + + + +) "AUX" (HO )) + + + + )>) + (<==? .CONTEXT ,M-ENTERING> + + + + > + + )> + <>) + ( + >> + + + <>) + (<==? .CONTEXT ,M-BEG> + + + + > + + >> + ) + ( + + + T) + ( + .LL>) + (T + + + > + ) + (T + )> + )> + > 4> + + > + "> + > + + + + + + + )> + > + + > + ) + (T + )>)> + + T)>) + (<==? .CONTEXT ,M-EXIT> + + + + + )> + + + + <>) + (T <>)>) + ( <>) + ( + ) + ( + + > + + T) + (T <>)>> + +> + + + <>> + + + + + <>) + ( + + + T) + (T + <>)>) + ( + ) + ( + ) + ( + ) + (T <>)>> + + + + +)) + .LEN> + ,RECEPTACLE) + (T <>)>> + + + + > + ) + (T + )> + T) + ( + > + + + ) + (T + )> + T) + ( + + T) + (T + <>)>) + ( + > + ) + (T + )> + T) + ( + + T) + (T <>)>> + +> + ) + (T + > + )> + T> + +> + + T) + (> + + T) + (T + + + + T)>> + + + +> ) + (T )>> + +)) + > )> + + <>) + ( + > + > + )> + <>) + ( + + + ) + (T + )> + + T) + ( + + <>) + (> + <>) + (T + + + + + )> + + T)>) + ( + > + + + + T) + (T + + T)>) + ( + + T) + ( + + + ) + (T <>)>) + ( + + T) + (T + <>)>> + +> + > 3> + + + + + >> + + + )>)> + + .PHONES>> + + + + + + + +) (MALE <>)) + + + >)> + 0 .XFEMALE>)>) + (T + + + >)> + 0 .MALE>)>)> + > + +)) + + + + + >) + (<==? .SEX 1> + )> + + + ) + (T + + )> + + > + +> + > + <>) + ( + > + )> + )>> + +)) + > + >> + > + > + >> + + + ".\" She escorts you to your seat."> + + ) + (T + + )> + + + + )>)> + > + )>> + +> + + + > + + + ) + (> + + + > + + + ) + (T + )>> + +)"AUX" LOSERS-ROW) + + ) + ( + >> + + + ,FATAL-VALUE) + ( + > + + + + + > + + + )>)> + .FAF>) + ( + + <0? + >> + + + ) + (T + )>) + ( + ) + ( + ) + ( + ) + ( + ) + (T + )> + ,FATAL-VALUE) + ( <>) + ( + + + "?\"" CR> + + T) + ( + ) + (> + + ", you can't think you have anything +valuable enough to get me to take that thing away.\"" CR> + + T) + (T + )>)>) + ( + + <>) + ( + ) + ( + + + + ) + ( + > + + > + ) + ( + > + ) + (T + + ", but I don't know "> + + "'">) + (T + )> + )>) + ( + ) + ( + ) + (T + + ", but I'm not authorised to say anything about that.\"" CR>)>)>)>) + ( + > + ) + (T + + + )>) + (T + + + + ,FATAL-VALUE) + (T T)>)>> + + +;> + .IRTS>)> + >)> + > + + )> + + + T> + +) "AUX" (SJ? <>)) + > <>) + (T + + + + + ".\" You find yourself being frog-marched back to your seat, +where you are unceremoniously dumped" ,PCR> + > + >> + )> + > + > + + + T) + (T + + + T)> + > + >)> + T)>> + +;> + +;) "AUX" CLOCKER) + > + > + )>) + (> + ; "Too late, loser" + > + )>) + (T + )> + + > + + + + + + + + + + > + ) + ( + + + + + T) + ( + + >> + ) + (> + ) + (T + + )>) + ( + ) + ( + + + + )> + + > + + ) + (T + )> + + + ) + (T + )>) + (T + )>) + ( + > + + + + + ) + (T + )> + + + ) + (T + )>) + (T + + )> + +",\" says the attendant." CR> + + T) + ( + )>) + ( + + ) + ( + )>)>> + +) + (VAL <>)) + >> + ". +Do you not know the regulations?\"" CR> + )> + + .VAL> + + + + T> + + + + + > + )> + + ) (TD? )) + > + + ) + (<==? .WD ,W?FILET> + >) + (T + + + )> + + ) + (T )> + ". Would you like the "> + ) + (T )> + + + ) + (T + )> + ". I do have a Zalagasan specialty: llama stewed with pulped roots +and other sorts of Zalagasan stuff. Would you like that?\"" CR> + + + )> + + ) + (T )> + + + + + + + + + + + + + >>> + +)) + > + >> + > + + .WARN>) + ( + ) + ( + > + >>> + )> + + ". You haven't eaten your delicious +Zalagasan dinner yet. Surely you must know the regulations.\""> + + > + > + + ) + (T + )>)> + + + T> + + +> + >> + + )>> + +)) + > 15> + + .IRP>)> + + ; "Announce meal, then force return to seat at reasonable time." + + + ) + (T + + )> + T> + + + + + + <==? .N>> T) + (T <>)>> + + + <==? .N>> T) + (T <>)>> + +)) + + ) + (<==? .WHICH ,HATCH-OBJECT> + ) + (<==? .WHICH ,GRANDCHILDREN-OBJECT> + ) + (<==? .WHICH ,BABY-OBJECT> + ) + (<==? .WHICH ,BOOK-OBJECT> + ) + (<==? .WHICH ,RECLINE-BUTTON> + ) + (<==? .WHICH ,LIGHT-BUTTON> + ) + (<==? .WHICH ,CALL-BUTTON> + ) + (<==? .WHICH ,THING-OBJECT> + ) + (<==? .WHICH ,VOICE-OBJECT> + ) + (<==? .WHICH ,BUTTONS-OBJECT> + ) + (<==? .WHICH ,FLUTE-OBJECT> + ) + (<==? .WHICH ,OTHER-FOOD-OBJECT> + ) + (<==? .WHICH ,FAKE-CHUTE-OBJECT> + + > + ) + (T + )>)>> + +) + "AUX" (WHICH ) + STR (FOOD-HERE? <>) NS FOOD-PERSON FOOD-SEAT) + + > + + >> + >> + ,FOOD-MASK>> + )>)>) + ( + >> + ,FOOD-MASK>> + )> + )> + + <==? .FOOD-PERSON ,PERSON-MASK>> + >> + > + + + + ,FOOD-MASK>> + ) + (T + >)>) + (<==? .NS ,PERSON-MASK> + + + + ,FOOD-MASK>> + ) + (T + >)>)>)>)> + + + + >>>) + (T + )> + + ) + (T + )>) + ( + .ROF>) + ( + + ) + ( + ) + (T + )>) + (.FOOD-HERE? + ) + (T + )> + ) + (T + )>) + (T + )>) + (<==? .WHICH ,FLUTE-OBJECT> + + <==? ,CURRENT-ROW 4>> + + ) + ( + )>) + (T + + T)>) + (<==? .WHICH ,BUTTONS-OBJECT> + > + + T) + ( + ) + ( + ) + (T <>)>) + ( + + >> + > + > + + + >)>) + (T + )>) + (<==? .WHICH ,BOOK-OBJECT> + + + <==? ,CURRENT-SEAT ,SEAT-D>>> + + + ) + ( <>) + ( + + + ) + ( + ) + ( + )>) + (T + )>) + (<==? .WHICH ,THING-OBJECT> + + ) + ( <>) + ( + + <==? ,CURRENT-SEAT ,SEAT-B>>> + + ) + ( + + + ) + (T <>)>) + (T + )>) + (<==? .WHICH ,HATCH-OBJECT> + + > + + ,FATAL-VALUE) + (<==? .CONTEXT ,M-OBJDESC> + ) + ( <>) + ( + + ) + (T + )>) + (> + "the hatch">) + ( + <>) + ( + + ) + ( 1> + ) + (T + )>) + ( + ) + ( + 0> + + ) + (T + + )>) + ( + > + + ) + (T + + + + + + + > + ) + (T + )> + + + + + )>) + ( + + ) + (T + )>) + ( + + + T) + ( + + + + T) + (T + + T)>) + ( + ) + ( + <==? ,HERE ,OUTSIDE-PLANE>> + + T) + ( + + ) + (T + )>) + (T <>)>) + (<==? .WHICH ,BABY-OBJECT> + > + ) + ( ,MOMMA-PERSON> + ) + ( + ) + ( + ) + ( + ) + ( + > + + 1> + + ) + (T + + )> + + + + ) + (T + )>)>) + (<==? .WHICH ,GRANDCHILDREN-OBJECT> + > + ) + ( + + <==? ,PRSO ,RANDOM-PERSON> + <==? + ,GRANDMA-PERSON>> + <>) + (T + )>) + ( + <>) + (> + ) + ( + > + 1>> + > + 1>> + ) + (> + 1>> + ) + (T + + + + + ) + (<==? .WHICH ,LIGHT-BUTTON> + ) + (T + )> + )>) + (<==? .WHICH ,CALL-BUTTON> + ) + (<==? .WHICH ,LIGHT-BUTTON> + ) + (T + )>)>)>> + + + <==? ,CURRENT-ROW 8> + + >> + + + > + >) + (T + + )> + + + T) + (T + + <>)>> + + + ,HATCH-OBJECT + + ,HATCH-OBJECT + <> + ,HATCH-OBJECT + <> + ,HATCH-OBJECT + <> + ,HATCH-OBJECT + + ,GRANDCHILDREN-OBJECT + <> + ,GRANDCHILDREN-OBJECT + <> + ,BUTTONS-OBJECT + <> + ,BUTTONS-OBJECT + + ,RECLINE-BUTTON + + ,LIGHT-BUTTON + + ,CALL-BUTTON + + ,BABY-OBJECT + + ,BABY-OBJECT + + ,BABY-OBJECT + <> + ,BOOK-OBJECT + + ,BOOK-OBJECT + + ,THING-OBJECT + <> + ,REGULATIONS-OBJECT + <> + ,VOICE-OBJECT + <> + ,VOICE-OBJECT + + ,FLUTE-OBJECT + + ,FLUTE-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,OTHER-FOOD-OBJECT + + ,FAKE-CHUTE-OBJECT + <> + ,FAKE-CHUTE-OBJECT + <> + ,FAKE-CHUTE-OBJECT + + ,GRANDMA-PERSON + <> + ,GRANDMA-PERSON + <> + ,GRANDMA-PERSON + + ,MOMMA-PERSON + <> + ,MOMMA-PERSON + + ,MOMMA-PERSON + <> + ,MOMMA-PERSON + + ,SMOKER-PERSON + + ,SMOKER-PERSON + + ,SMOKER-PERSON + + ,SMOKER-PERSON + <> + ,SMOKER-PERSON + <> + ,POLITICIANS-PERSON + <> + ,ZALAGASANS-PERSON + ; ; + ;,BALD-PERSON + + ,FAT-PERSON + + ,FROBOZZCO-PERSON + + ,SLEEPER-PERSON>> + +> + +"Code for other passengers" + + +)) + .N>> + +> + +) + "AUX" (OWINNER ,WINNER) VAL) + + > + + .VAL> + + + <> + ;" strange, crackling sound like a pile of twigs being +stamped into a peat-bog" + ;" nice auntie who has been carefully pecking at her nice +food and admiring the thing she has bought for her nephew which she doesn't +know what it is, when" + " high-pitched, scraping sound like a large rat sliding +down a blackboard" + " doting mother who has been looking forward to a nourishing +meal after a day's hard baby-care when utterly without warning" + <> + <> + ;" nasty barking plop as if a large dog had been thrown into +a mud-hole" + ;"n angry man who has been rendered suddenly even more angry +when, while angrily consuming his irritating dinner" + " repulsive squelching mumble, as if a chattering +orangutan had suddenly had its mouth crammed full of earthworms" + " politician who has been (needless to say) talking +with his mouth full of airline food and" + " slippery sort of \"phloop!\" followed by a muffled +grunt, as if the soap had slipped out of someone's hands and hit him in +the mouth" + " Zalagasan businessman who has been making do with some +terribly dull Western food (when what he would really have liked is a nice +Zalagasan delicacy like llama stew with pulped roots and all sorts of stuff) +and all of a sudden" + ;" wet, slithery sort of clonk, as if a small +bowling-ball had been dropped onto a billiard-table smeared an inch thick +with stale peanut butter" + ;" bald man who has lost a lot of heat through his head +and has been restoring his calorific balance by consuming a nourishing +dinner when (O horrid but true)" + <> + <> + ;" wettish, muffled sound like an old llama exploding in a +fog on a distant hillside" + ;" fat man who has been innocently eating his fifth +dinner of the day when all of a sudden" + <> + <> + ;" sort of hissing, jangling \"sssplatch\" as if +a badly-made electrical device had fallen into a plate of cold porridge +and fused" + ;" Frobozzco executive who has interrupted his +discussion on how to use underhanded and manipulative marketing tricks +to foist his company's shoddy and unsafe products on the gullible public +to eat a tasteless meal at an inappropriate time of day, when, almost as +if it had been made by his own company," + " sort of damp, gurgling grunt as if a +pygmy hog had accidentally leapt into its trough on a dark, wet night" + " man who has been woken up from a refreshing sleep +over his book, asked if he would like something to eat, said \"No,\" +been brought it anyway, decided he had better eat it so that they will +take it away so that he can go back to sleep, and innocently started to +eat it when, like a bolt from the blue,">> + +) + TROW TSEAT) + + >)> + >> + .N> + ) + (<==? .N> + ) + (<==? .N> + ) + (<==? .N> + )> + ,FOOD-MASK>>> + )> + + >)> + + + + )> + ) + (T + ) + (T + )>)>) + (<==? .N ,MOMMA-PERSON> + + ) + (T + )>) + (<==? .N ,SMOKER-PERSON> + + ) + (T + )>) + (<==? .N ,POLITICIANS-PERSON> + )> + ) + (<==? .N ,ZALAGASANS-PERSON> + )> + ) + ;(<==? .N ,BALD-PERSON> + )> + ) + (<==? .N ,FAT-PERSON> + )> + ) + (<==? .N ,FROBOZZCO-PERSON> + )> + ) + (<==? .N ,SLEEPER-PERSON> + + + ) + (T + )>) + (T + )>)>) + (> + ,CURRENT-ROW> + + > + ,LIGHT-MASK>>> + )> + + + + ) + (T )> + + ,FATAL-VALUE) + (<==? .CONTEXT ,M-WINNER> + + ; "FOO, HELLO becomes HELLO FOO" + + ,FATAL-VALUE) + ( <>) + ( + > + + + ,FATAL-VALUE) + ( + > + + ,FATAL-VALUE) + ( + > + + ,FATAL-VALUE) + ( + > + + ,FATAL-VALUE) + ( + + ,FATAL-VALUE) + ( + > + ; "FOO, GIVE ME BAR becomes TAKE BAR FROM FOO" + + ,FATAL-VALUE) + ( + + > + + ) + (T + )>) + (T + )> + ,FATAL-VALUE) + ( + > + ) + (T + + ,FATAL-VALUE)>) + ( <>) + ( + + + ) + (<==? .N ,SMOKER-PERSON> + + ) + ( + + ) + ( + + + + )>) + (<==? .N ,SLEEPER-PERSON> + ) + (T + )>)> + ) + ( + > + ) + ( + > + > + + + ,FATAL-VALUE) + (<==? .N ,SLEEPER-PERSON> + + ,FATAL-VALUE) + (<==? .N ,ZALAGASANS-PERSON> + + + + ,W?STINGLAI ,W?KA\'ABI> + + )>) + (T + + )> + > + >>) + (T + )> + + ,FATAL-VALUE) + (<==? .N ,POLITICIANS-PERSON> + + ,FATAL-VALUE) + (T <>)>) + (<==? .N ,SLEEPER-PERSON> + + ,FATAL-VALUE) + (<==? .N ,ZALAGASANS-PERSON> + ) + (<==? .N ,POLITICIANS-PERSON> + ) + (<==? .N ,FROBOZZCO-PERSON> + ) + (<==? .N ,FAT-PERSON> + + > + <0? ,FOOD-MASK>>> + )> + ) + ( + + ) + (<==? .N ,SMOKER-PERSON> + ) + (<==? .N ,MOMMA-PERSON> + )>) + (<==? .N ,GRANDMA-PERSON> + ) + (<==? .N ,SMOKER-PERSON> + ) + (<==? .N ,MOMMA-PERSON> + )>> + + + + ,LIGHT-BUTTON ,CALL-BUTTON ,RECLINE-BUTTON + ,BUTTONS-OBJECT>>> + + + + + )> + ) + ( + + ) + ( + <>)>)>> + + + ) + ( + ) + ( + + ) + ( + ) + ( + ) + ( + ) + ( + ) + ( + + + )>)>> + + + > + + + ; "boy touching..." + > + + ) + (T + + T)>) + (T + )>) + ( + + ) + ( + ) + ( + ) + (T + )>) + ( + ) + (T <>)>> + + + > + ) + (T + )> + ) + ( + + > + ) + (T + + )>)>)>> + + + ) + ( + )>> + + + ) + ( + + ) + ( + ) + ( + ) + ( + ) + (T + )>)>> + + + + + + + + + T) + ( + + + + T) + (T + + + )>)>) + ( + ) + ( + ) + ( + + + T) + ( + + >>> + > + > + + + + + > + + + + > + + > + ) + (T + )> + + + + + ) + (T + )>) + (T + )>) + (T + )> + T) + ( + + + + + + + + )> + ) + (T + )>)>> + + + > + > + + )> + + ,SEAT-D> + ) + (T + )> + + > + + + T) + (T <>)>> + + + +> + + + .CHUTE>) + (> + + + ) + ( + + )>) + ( + > + + T) + ( + + + ) + ( + ) + ( + ) + ( + ) + (T + )> + ) + ( + + + )> + + + + ) + ( + > + > + + )> + + + + ) + (T + )> + )>)> + + + + )> + .CHUTE>) + ( + > + + ) + ( + + ) + ( + + )> + + + )> + + T) + (> + ) + ( + + + + + + ) + (T + )> + T) + ( + <>) + (T + )>) + ( + + T) + ( + + ) + (T + )> + T) + ( + + + >> + ; "Make sure we're not wearing the chute, and haven't + already scored this point" + + + + T) + (T <>)>> + + + + + + ) + (T + + + ) + (T + > + + + + + + > + >> + ) + (T + )>)>)> + T> + + + + + ) + ( + + ) + ( + + + ) + (> + + + )> + + + + T> + + + +> + + T) + ( + <>) + ( + + + )> + + T) + ( + + T) + (T + <>)>> + + + + + + T> + + + + T> + + + + + ) + (T + )> + T> + +)) + + + + )> + + T) + ( + > + + + T) + (T + <>)>> + + + +)) + + + + ) + (T + )> + + T) + (T + <>)>> + + + + > + T) + (T + <>)>> + + + + + + > + +> + >> + + + + + ) + ( + + ) + ( + + + ) + ( + + )> + + + ) + (T + )> + + + > + +> + +) (VAL <>)) + > + > + >> + >> + + + + + )> + + + + )> + ) + ( + + ) + (T + )> + ) + ( + + > + + + + )> + + > + + T) + (T <>)>> \ No newline at end of file diff --git a/xxjetdefs.zil b/xxjetdefs.zil new file mode 100644 index 0000000..22c6cec --- /dev/null +++ b/xxjetdefs.zil @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + +> + + + + + % + % %>> + + + >> + + +> +> +> +> +> +> +> +> +> +> +> +> +> +> +> + + + + + + + + + +; "Bald guy removed" + + + + + + + + + (BYTE)>> + +) + (DING-ROW BYTE 0) + (SPLAT-COUNT BYTE 0) + (MEAL-HERE? BYTE <>) + (MEAL-SQUASHED? BYTE <>) + (MEAL-EATEN? BYTE <>) + (MEAL-ROW BYTE <>) + (MEAL-SEAT BYTE <>) + (LOOKED-AT-FOOD? BYTE <>) + (LOSER-CANT-LEAVE-SEAT? BYTE <>) + (FALL-SCRIPT BYTE 5) + (RETURN-TO-SEAT-ROUTINE <>) + (ATTENDANT-WORKING? BYTE <>) + (ATTENDANT-MENTIONED-REGULATIONS? BYTE 3) + (MIND-READ? BYTE <>) + (BABY-DISTURBED? BYTE 0) + (NEXT-TO-BABY? BYTE <>) + (AIRPHONE-RINGING? BYTE <>) + (VOICES-ONLINE? BYTE <>) + (FLIGHT-ATTENDANT-HE/SHE:STRING) + (FLIGHT-ATTENDANT-HIM/HER:STRING) + (HATCH-OPEN? BYTE 0) + (HATCH-LOSER? BYTE <>) + (CRASH-COMING? BYTE <>) + (NERD-FLEW-BY? BYTE <>) + (RETURN-TO-SEAT-WAIT BYTE 0) + (GOT-RECIPE? BYTE <>) + (SPLATTED-ROW BYTE 0) + (SPLATTED-PERSON BYTE 0) + (ATTENDANT-AT-ROW BYTE 0) + (RUN-PLANE-COUNT 0) + (SMOKER-IRATE? BYTE <>) + (IN-SEAT? BYTE <>)> + + \ No newline at end of file diff --git a/zalagasa.zil b/zalagasa.zil new file mode 100644 index 0000000..d2d9ee7 --- /dev/null +++ b/zalagasa.zil @@ -0,0 +1,564 @@ +"ZALAGASA for BUREAUCRACY. Copyright 1987 Infocom, Inc. All rights reserved." + + + + + + + +)) + <>) + (> + ) + ( + + + ) + (T + )> + )>> + + + + T> + + + +" TOUCHED ==> Natives are amused with recipe cartridge" + + + + ,IN-CLEARING) + (ELSE + + <>)>> + +) "AUX" RM) + + + + ) + (T + )> + ) + ( <>) + ( + ) + ( + + ) + (T + )>) + ( + > + ) + (T T)>) + ( + + ) + ( + ) + (T <>)>) + (ELSE <>)>> + + + +)) + + .ZALAG>) + ( + + ) + ( + ) + (T + )>) + ( + + ) + ( + ) + (T + )>) + (T + )> + ,FATAL-VALUE) + ( + <>) + ( + + + ) + (T + )>) + ( + + ) + ( + )>) + (T <>)>) + ( + <>) + ( + ) + ( + + T) + ( + + T) + (T + <>)>> + + + ) + (T + + + ) + (<==? .OBJ ,RECIPE> + + + + + + + + + + T) + (<==? .OBJ ,ADVENTURE> + )>)>)>> + + + + T) + ( + + T) + (T + + T)>> + + + ) + (T + + + ) + (T + )> + )> + T> + + + + T) + (<==? .OBJ ,ME> + + T) + (<==? .OBJ ,NERD> + ) + (<==? .OBJ ,COMPUTER> + ) + (ELSE + )>> + + + + + +)) + + + + ) + (T <>)>> + +> + + + + + + ) + ( + )>)>> + + + + + >> + ) + (T + )> + > + +)) + + + ) + (T + + + + + + + )>) + ( <>) + ( + + <>) + (> + + + >)> + + T)>) + ( + + + + > + + ) + (T + + )>) + ( + + + ) + (T + )> + + + ) + ( + ) + ( + + ) + (T + )> + T) + ( + )>) + (T <>)>> + + + + + + + +> + + + +> + + +) + (VAL 0)) + > + )> + + + ) + (T )> + > + + + ; "Losing" + > + > + >> + ; "Back in initial state" + + T) + (T <>)>) + (T + + > + + + )> + > + + + <==? .H2 ,MIDDLE-HANDLE>> + T) + ( + <==? .H2 ,RIGHT-HANDLE>> + T) + (T <>)>) + (<==? ,HANDLE-TURNS 2> + + <==? .H2 ,RIGHT-HANDLE>> + T) + (T <>)>) + (<==? ,HANDLE-TURNS 3> + > + > + >> + T) + (T <>)>)>)>> + + + ,HANDLE-COUNT> + ,LEFT-HANDLE) + (T <>)>) + ( + ,P-IT-OBJECT) + (T <>)>> + + + + + > + ; "TURN HANDLES BECOMES TURN ALL HANDLES" + + + + + )> + + ) + ( + + ; "TURNING ONE OR TWO HANDLES" + 2> + >> + >> + > + + ) + (<==? ,HANDLE-TURNS 3> + + ) + (T + )> + ) + (<==? 3> + + )>)> + + T) + ( + ) + ( + ) + ( + > + ; "ALL PREVIOUS RESPONSES PLAUSIBLE FOR MORE THAN ONE; NOW + CAUSE DEFAULTS TO BE APPLIED TO EACH IN TURN" + + T) + ( + + )>> + + + + + > + + + + + + + ,ODD-GATE-SOLVED?) + (T + + <>)>> + +)) + + + + ) + (<==? .CONTEXT ,M-ENTERING> + + + + <>) + (<==? .CONTEXT ,M-EXIT> + + + + <>) + (T <>)>> + + + + + )>> + + + + + ) + (T <>)>> + + IMPURE>> + IMPURE>> + IMPURE>> + IMPURE>> + +> +> + +>