mirror of
https://github.com/historicalsource/seastalker.git
synced 2026-03-03 18:36:03 +00:00
Final Revision
This commit is contained in:
52
a2.zil
Normal file
52
a2.zil
Normal file
@@ -0,0 +1,52 @@
|
||||
"COMPILE/LOAD FILE for SEASTALKER
|
||||
Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<PRINC "Compiling">
|
||||
<SETG ZSTR-ON <SETG ZSTR-OFF ,TIME>>
|
||||
<ID 0>)
|
||||
(T <PRINC "Loading">)>
|
||||
|
||||
<PRINC " SEASTALKER: junior-level interactive fiction from Infocom!">
|
||||
|
||||
<COND (<GASSIGNED? MUDDLE>
|
||||
<BLOAT 90000 0 0 3500 0 0 0 0 0 512>)>
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
"<GLOBAL BIGFIX 10000>"
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
||||
|
||||
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
|
||||
<INSERT-FILE .STR .FLOAD?>>
|
||||
|
||||
<DIRECTIONS ;"Do not change the order of the first eight
|
||||
without consulting MARC! -- ENCHANTER"
|
||||
NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
|
||||
|
||||
<IFILE "MACROS" T>
|
||||
<IFILE "SYNTAX" T>
|
||||
<IFILE "MAIN" T>
|
||||
<IFILE "SUB" T>
|
||||
<IFILE "BATTLE" T>
|
||||
<IFILE "THINGS" T>
|
||||
<IFILE "DOME" T>
|
||||
|
||||
<IFILE "PEOPLE" T>
|
||||
<IFILE "PLACES" T>
|
||||
<IFILE "GLOBAL" T>
|
||||
<CONSTANT SERIAL 0>
|
||||
<IFILE "CLOCK" T>
|
||||
<ENDLOAD>
|
||||
<IFILE "PARSER" T>
|
||||
<IFILE "VERBS" T>
|
||||
<IFILE "EVENTS" T>
|
||||
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
||||
|
||||
<GC-MON T>
|
||||
<COND (<GASSIGNED? MUDDLE>
|
||||
<GC 0 T 5>)>
|
||||
733
battle.xzap
Normal file
733
battle.xzap
Normal file
@@ -0,0 +1,733 @@
|
||||
|
||||
|
||||
.FUNCT THORPE-SHOOT?,X,Y
|
||||
ZERO? SNARK-TRANKED /?ELS5
|
||||
CALL FORWARD-OF-THORPE?,X,Y
|
||||
RSTACK
|
||||
?ELS5: CALL STARBOARD-OF-THORPE?,X,Y
|
||||
ZERO? STACK /FALSE
|
||||
CALL FORWARD-OF-THORPE?,X,Y
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT STARBOARD-OF-THORPE?,X,Y,?TMP1
|
||||
SUB X,THORPE-LON
|
||||
MUL THORPE-HLAT,STACK >?TMP1
|
||||
SUB Y,THORPE-LAT
|
||||
MUL THORPE-HLON,STACK
|
||||
SUB ?TMP1,STACK
|
||||
GRTR? 0,STACK /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT FORWARD-OF-THORPE?,X,Y,?TMP1
|
||||
SUB X,THORPE-LON
|
||||
MUL THORPE-HLON,STACK >?TMP1
|
||||
SUB THORPE-LAT,Y
|
||||
MUL THORPE-HLAT,STACK
|
||||
SUB ?TMP1,STACK
|
||||
GRTR? 0,STACK /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT THORPE-POS?,LON,LAT
|
||||
EQUAL? SUB-DEPTH,AIRLOCK-DEPTH \FALSE
|
||||
SUB THORPE-LAT,THORPE-HLAT
|
||||
EQUAL? LAT,STACK \?ELS7
|
||||
SUB THORPE-LON,THORPE-HLON
|
||||
EQUAL? LON,STACK /TRUE
|
||||
?ELS7: EQUAL? LAT,THORPE-LAT \FALSE
|
||||
EQUAL? LON,THORPE-LON /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT SNARK-POS?,LON,LAT,?ORTMP
|
||||
CALL SNARK-HEAD-POS?,LON,LAT
|
||||
POP '?ORTMP
|
||||
ZERO? ?ORTMP /?ORP4
|
||||
RETURN ?ORTMP
|
||||
?ORP4: CALL SNARK-TAIL-POS?,LON,LAT
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT SNARK-HEAD-POS?,LON,LAT
|
||||
EQUAL? SUB-DEPTH,AIRLOCK-DEPTH \FALSE
|
||||
EQUAL? LAT,SNARK-LAT \FALSE
|
||||
EQUAL? LON,SNARK-LON /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT SNARK-TAIL-POS?,LON,LAT,X,Y,HLON,HLAT
|
||||
EQUAL? SUB-DEPTH,AIRLOCK-DEPTH \FALSE
|
||||
ZERO? SNARK-TRANKED /?ELS5
|
||||
SET 'HLON,SNARK-HLON
|
||||
SET 'HLAT,SNARK-HLAT
|
||||
JUMP ?CND1
|
||||
?ELS5: SET 'HLON,THORPE-HLON
|
||||
SET 'HLAT,THORPE-HLAT
|
||||
?CND1: SUB SNARK-LON,HLON >X
|
||||
SUB SNARK-LAT,HLAT >Y
|
||||
EQUAL? LAT,Y \?CND9
|
||||
EQUAL? LON,X /TRUE
|
||||
?CND9: SUB X,HLON >X
|
||||
SUB Y,HLAT >Y
|
||||
EQUAL? LAT,Y \?CND14
|
||||
EQUAL? LON,X /TRUE
|
||||
?CND14: SUB Y,HLAT
|
||||
EQUAL? LAT,STACK \FALSE
|
||||
SUB X,HLON
|
||||
EQUAL? LON,STACK /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT THORPE-SUB-F
|
||||
EQUAL? PRSA,V?FIND \?ELS5
|
||||
PRINTR "It's not far away!"
|
||||
?ELS5: EQUAL? PRSA,V?PUSH,V?MOVE \?ELS9
|
||||
PRINTR "It's too big!"
|
||||
?ELS9: EQUAL? PRSA,V?ATTACK,V?KILL,V?SHOOT \?ELS13
|
||||
PRINTI "You have to shoot"
|
||||
CALL THE-PRSO-PRINT
|
||||
PRINTR " with a weapon."
|
||||
?ELS13: EQUAL? PRSA,V?WALK-TO \FALSE
|
||||
PRINTR "You're the pilot!"
|
||||
|
||||
|
||||
.FUNCT I-UPDATE-THORPE,DLAT,DLON,Z
|
||||
ZERO? SUB-IN-BATTLE /?CND1
|
||||
MUL THORPE-HLON,THORPE-HLAT >Z
|
||||
CALL THORPE-SHOOT?,SUB-LON,SUB-LAT
|
||||
ZERO? STACK \?ELS7
|
||||
ZERO? THORPE-DLON \?ELS10
|
||||
ZERO? THORPE-DLAT \?ELS10
|
||||
ZERO? THORPE-TURNING? \?PRD13
|
||||
PUSH 1
|
||||
JUMP ?PRD14
|
||||
?PRD13: PUSH 0
|
||||
?PRD14: SET 'THORPE-TURNING?,STACK
|
||||
ZERO? THORPE-TURNING? /?ELS17
|
||||
JUMP ?CND1
|
||||
?ELS17: CALL STARBOARD-OF-THORPE?,SUB-LON,SUB-LAT
|
||||
ZERO? STACK /?ELS20
|
||||
ZERO? THORPE-HLON \?ELS23
|
||||
SET 'THORPE-HLON,THORPE-HLAT
|
||||
JUMP ?CND5
|
||||
?ELS23: EQUAL? -1,Z \?ELS25
|
||||
SET 'THORPE-HLON,0
|
||||
JUMP ?CND5
|
||||
?ELS25: EQUAL? 1,Z \?ELS27
|
||||
SET 'THORPE-HLAT,0
|
||||
JUMP ?CND5
|
||||
?ELS27: SUB 0,THORPE-HLON >THORPE-HLAT
|
||||
JUMP ?CND5
|
||||
?ELS20: ZERO? THORPE-HLON \?ELS34
|
||||
SUB 0,THORPE-HLAT >THORPE-HLON
|
||||
JUMP ?CND5
|
||||
?ELS34: EQUAL? -1,Z \?ELS36
|
||||
SET 'THORPE-HLAT,0
|
||||
JUMP ?CND5
|
||||
?ELS36: EQUAL? 1,Z \?ELS38
|
||||
SET 'THORPE-HLON,0
|
||||
JUMP ?CND5
|
||||
?ELS38: SET 'THORPE-HLAT,THORPE-HLON
|
||||
JUMP ?CND5
|
||||
?ELS10: SET 'THORPE-DLON,0
|
||||
SET 'THORPE-DLAT,0
|
||||
JUMP ?CND5
|
||||
?ELS7: PRINTI "Thorpe zeroed in on you and fired his rocket! It streaks through the water toward the "
|
||||
PRINTD SUB
|
||||
PRINTI "! In an instant your sub will be just twisted metal, trapping you and Tip forever in Davy Jones's locker!"
|
||||
CALL FINISH
|
||||
?CND5:
|
||||
?CND1: ADD THORPE-LON,THORPE-DLON >THORPE-LON
|
||||
ADD THORPE-LAT,THORPE-DLAT >THORPE-LAT
|
||||
MUL THORPE-HLON,THORPE-HLAT >Z
|
||||
ZERO? Z \?ELS49
|
||||
ZERO? THORPE-HLAT \?ELS52
|
||||
ADD THORPE-LAT,THORPE-HLON >SNARK-LAT
|
||||
ADD THORPE-LON,THORPE-HLON >SNARK-LON
|
||||
RFALSE
|
||||
?ELS52: ADD THORPE-LAT,THORPE-HLAT >SNARK-LAT
|
||||
SUB THORPE-LON,THORPE-HLAT >SNARK-LON
|
||||
RFALSE
|
||||
?ELS49: EQUAL? -1,Z \?ELS56
|
||||
ADD THORPE-LON,THORPE-HLON >SNARK-LON
|
||||
SET 'SNARK-LAT,THORPE-LAT
|
||||
RFALSE
|
||||
?ELS56: EQUAL? 1,Z \FALSE
|
||||
ADD THORPE-LAT,THORPE-HLAT >SNARK-LAT
|
||||
SET 'SNARK-LON,THORPE-LON
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT DART-F
|
||||
CALL WEAPON-F,DART
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT MOUNTING-VERB?,OBJ
|
||||
ZERO? SUB-IN-DOME /FALSE
|
||||
EQUAL? PRSO,OBJ \FALSE
|
||||
EQUAL? PRSA,V?USE /TRUE
|
||||
EQUAL? PRSA,V?PUT-UNDER \?ELS13
|
||||
EQUAL? PRSO,ESCAPE-POD-UNIT \?ELS13
|
||||
EQUAL? PRSI,PILOT-SEAT,CHAIR /TRUE
|
||||
?ELS13: EQUAL? PRSA,V?TIE-TO,V?PUT \FALSE
|
||||
EQUAL? PRSI,CLAW,LOCAL-SUB,GLOBAL-SUB /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT NO-GOOD-MUNGED
|
||||
PRINTR "Doc Horvak has to fix it first."
|
||||
|
||||
|
||||
.FUNCT WEAPON-F,OBJ,WHICH=0,O,NOT-ON-SUB=0,SOMEONE=0
|
||||
CALL BAD-AIR?
|
||||
ZERO? STACK \TRUE
|
||||
EQUAL? PRSA,V?TAKE,V?SEARCH-FOR,V?FIND \?ELS5
|
||||
JUMP ?CND1
|
||||
?ELS5: CALL MOUNTING-VERB?,OBJ
|
||||
ZERO? STACK /?ELS7
|
||||
JUMP ?CND1
|
||||
?ELS7: CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
?CND1: EQUAL? OBJ,DART \?CND10
|
||||
SET 'WHICH,1
|
||||
?CND10: GET ON-SUB,WHICH
|
||||
EQUAL? OBJ,STACK /?CND13
|
||||
SET 'NOT-ON-SUB,1
|
||||
?CND13: ZERO? SUB-IN-DOME \?CND16
|
||||
ZERO? NOT-ON-SUB /?CND16
|
||||
PRINTI "You can't use"
|
||||
CALL PRINTT,OBJ
|
||||
PRINTR " now!"
|
||||
?CND16: ZERO? NOT-ON-SUB /?ELS27
|
||||
EQUAL? PRSA,V?SEARCH-FOR,V?FIND \?ELS33
|
||||
LOC OBJ
|
||||
EQUAL? HERE,STACK \FALSE
|
||||
FSET? OBJ,TOUCHBIT /FALSE
|
||||
FCLEAR OBJ,NDESCBIT
|
||||
CALL HE-SHE-IT,WINNER,1,STR?58
|
||||
PRINTR " it among lots of equipment and supplies."
|
||||
?ELS33: EQUAL? PRSA,V?TAKE \?ELS44
|
||||
EQUAL? WHICH,1 \FALSE
|
||||
FCLEAR DART,NDESCBIT
|
||||
FSET? DART,MUNGBIT \FALSE
|
||||
CALL NO-GOOD-MUNGED
|
||||
RSTACK
|
||||
?ELS44: CALL MOUNTING-VERB?,OBJ
|
||||
ZERO? STACK /FALSE
|
||||
EQUAL? WINNER,PLAYER /?ELS59
|
||||
SET 'SOMEONE,WINNER
|
||||
JUMP ?CND57
|
||||
?ELS59: CALL FIND-FLAG,HERE,PERSON,PLAYER >SOMEONE
|
||||
ZERO? SOMEONE /?CND57
|
||||
?CND57: ZERO? SOMEONE \?CND62
|
||||
CALL META-LOC,OBJ
|
||||
EQUAL? HERE,STACK /?ELS67
|
||||
CALL NOT-HERE,OBJ
|
||||
RTRUE
|
||||
?ELS67: EQUAL? HERE,AIRLOCK /?CND62
|
||||
CALL NOT-HERE,CLAW
|
||||
RTRUE
|
||||
?CND62: ZERO? WHICH \?ELS74
|
||||
ZERO? SOMEONE /?ELS79
|
||||
EQUAL? HERE,AIRLOCK /?ELS79
|
||||
PRINTI """Good idea! That should stop the "
|
||||
PRINTD SNARK
|
||||
PRINTI "! It could disable an enemy sub, too! Shall I "
|
||||
EQUAL? PRSA,V?PUT \?ELS86
|
||||
PRINTI "do it"
|
||||
JUMP ?CND84
|
||||
?ELS86: PRINTI "have it mounted"
|
||||
EQUAL? PRSI,CLAW /?CND84
|
||||
PRINTI " on an "
|
||||
PRINTD CLAW
|
||||
PRINTI " of the "
|
||||
PRINTD SUB
|
||||
?CND84: PRINTI "?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /TRUE
|
||||
CALL MOUNT-WEAPON,BAZOOKA
|
||||
CALL FINE-SEQUENCE
|
||||
RTRUE
|
||||
?ELS79: CALL MOUNT-WEAPON,BAZOOKA
|
||||
CALL OKAY,BAZOOKA,STR?59
|
||||
CALL FINE-SEQUENCE
|
||||
RTRUE
|
||||
?ELS74: FSET? DART,MUNGBIT \?ELS106
|
||||
CALL NO-GOOD-MUNGED
|
||||
RSTACK
|
||||
?ELS106: CALL MOUNT-WEAPON,DART
|
||||
ZERO? SOMEONE /?ELS111
|
||||
EQUAL? HERE,AIRLOCK /?ELS111
|
||||
PRINTD SOMEONE
|
||||
PRINTI " promptly mounts the "
|
||||
PRINTD DART
|
||||
PRINTI " on an "
|
||||
PRINTD CLAW
|
||||
PRINTI "."
|
||||
CRLF
|
||||
JUMP ?CND109
|
||||
?ELS111: CALL OKAY,DART,STR?59
|
||||
?CND109: GET ON-SUB,0
|
||||
EQUAL? BAZOOKA,STACK \TRUE
|
||||
CALL FINE-SEQUENCE
|
||||
RTRUE
|
||||
?ELS27: EQUAL? PRSA,V?EXAMINE,V?FIND \?ELS127
|
||||
PRINTI "It's mounted on one of the "
|
||||
PRINTD SUB
|
||||
PRINTI "'s "
|
||||
PRINTD CLAW
|
||||
PRINTR "s."
|
||||
?ELS127: EQUAL? PRSA,V?TAKE /?THN132
|
||||
CALL MOUNTING-VERB?,OBJ
|
||||
ZERO? STACK /?ELS131
|
||||
?THN132: PRINTI "You'd better leave it mounted on the "
|
||||
PRINTD CLAW
|
||||
PRINTR "."
|
||||
?ELS131: CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?MOVE-DIR,V?MOVE \?ELS139
|
||||
PRINTR "You should type where you want to aim it."
|
||||
?ELS139: EQUAL? PRSA,V?AIM \?ELS143
|
||||
FSET? CLAW,MUNGBIT \?ELS146
|
||||
PRINTI "Nothing happens. Either the "
|
||||
PRINTD CLAW
|
||||
PRINTI " or the "
|
||||
PRINTD OBJ
|
||||
PRINTI " was damaged when you rammed the "
|
||||
PRINTD SNARK
|
||||
PRINTR "!"
|
||||
?ELS146: EQUAL? PRSI,GLOBAL-THORPE,THORPE-SUB \?ELS150
|
||||
CALL STARBOARD-OF-THORPE?,SUB-LON,SUB-LAT
|
||||
ZERO? STACK \?ELS153
|
||||
CALL YOU-CANT,STR?60,GLOBAL-SNARK,STR?61
|
||||
RTRUE
|
||||
?ELS153: ZERO? SUB-IN-BATTLE /?CND156
|
||||
CALL SCORE-OBJ,THORPE-SUB
|
||||
?CND156: PUT OBJ-AIMED-AT,WHICH,THORPE-SUB
|
||||
PUT LON-AIMED-AT,WHICH,THORPE-LON
|
||||
PUT LAT-AIMED-AT,WHICH,THORPE-LAT
|
||||
JUMP ?CND144
|
||||
?ELS150: EQUAL? PRSI,GLOBAL-SNARK,SNARK \FALSE
|
||||
PUT OBJ-AIMED-AT,WHICH,SNARK
|
||||
PUT LON-AIMED-AT,WHICH,SNARK-LON
|
||||
PUT LAT-AIMED-AT,WHICH,SNARK-LAT
|
||||
?CND144: PRINTR "Aimed."
|
||||
?ELS143: EQUAL? PRSA,V?ATTACK,V?KILL,V?SHOOT \FALSE
|
||||
GET OBJ-AIMED-AT,WHICH >O
|
||||
GET ALREADY-SHOT,WHICH
|
||||
ZERO? STACK /?ELS170
|
||||
PRINTI "You already shot"
|
||||
CALL THE-PRSI-PRINT
|
||||
PRINTR "!"
|
||||
?ELS170: ZERO? O \?CND168
|
||||
PRINTR "You have to aim it first!"
|
||||
?CND168: EQUAL? THORPE-SUB,O \?ELS183
|
||||
EQUAL? PRSO,GLOBAL-THORPE,THORPE-SUB \?THN180
|
||||
?ELS183: EQUAL? SNARK,O \?CND177
|
||||
EQUAL? PRSO,GLOBAL-SNARK,SNARK /?CND177
|
||||
?THN180: PRINTI "You didn't aim it at"
|
||||
CALL THE-PRSO-PRINT
|
||||
PRINTR "."
|
||||
?CND177: EQUAL? PRSO,GLOBAL-THORPE,THORPE-SUB \?ELS192
|
||||
GET LON-AIMED-AT,WHICH
|
||||
EQUAL? STACK,THORPE-LON \?ELS197
|
||||
GET LAT-AIMED-AT,WHICH
|
||||
EQUAL? STACK,THORPE-LAT \?ELS197
|
||||
PUT ALREADY-SHOT,WHICH,1
|
||||
ZERO? WHICH \?ELS204
|
||||
CALL MUNG-TARGET
|
||||
RSTACK
|
||||
?ELS204: PRINTI "Fudge! Your tranquilizer dart hit the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI ", and its metal hull can't be put to sleep! Tough luck, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTR "."
|
||||
?ELS197: CALL TOO-BAD-BUT,PRSO
|
||||
PRINTR " moved since you aimed."
|
||||
?ELS192: EQUAL? PRSO,GLOBAL-SNARK,SNARK \FALSE
|
||||
GET LON-AIMED-AT,WHICH
|
||||
EQUAL? STACK,SNARK-LON \?ELS219
|
||||
GET LAT-AIMED-AT,WHICH
|
||||
EQUAL? STACK,SNARK-LAT \?ELS219
|
||||
PUT ALREADY-SHOT,WHICH,1
|
||||
SET 'SNARK-TRANKED,1
|
||||
SET 'SNARK-HLON,THORPE-HLON
|
||||
SET 'SNARK-HLAT,THORPE-HLAT
|
||||
ZERO? WHICH \?ELS226
|
||||
PRINTI "KA-VOOOM! The "
|
||||
PRINTD SNARK
|
||||
PRINTI " shudders and stops moving! You scored a clean hit with your "
|
||||
PRINTD BAZOOKA
|
||||
PRINTI "!
|
||||
"
|
||||
CALL TIP-SAYS
|
||||
PRINTI "Rats! There goes our safety shield!"" And he's right. Even though you've saved the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI " from further danger of monster attack, the "
|
||||
PRINTD SUB
|
||||
PRINTI " is now exposed to the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTR "'s rocket weapon!"
|
||||
?ELS226: PRINTI "Right on! The dart hits the "
|
||||
PRINTD SNARK
|
||||
PRINTI " and sticks out of its side. The tranquilizer spreads through the "
|
||||
PRINTD SNARK
|
||||
PRINTI ", sending it to Slumberland.
|
||||
But this may have been a bad move. With the "
|
||||
PRINTD SNARK
|
||||
PRINTI " fast asleep, its huge body can't hide you from the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTR "'s rocket attack!"
|
||||
?ELS219: CALL TOO-BAD-BUT,PRSO
|
||||
PRINTR " moved since you aimed."
|
||||
|
||||
|
||||
.FUNCT MUNG-TARGET
|
||||
CALL SCORE-UPD,5
|
||||
FSET PRSO,MUNGBIT
|
||||
PRINTI "Great! You and Tip can see"
|
||||
CALL THE-PRSI-PRINT
|
||||
PRINTI " slam into the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI "'s power pod!
|
||||
""Hooray! That crippled the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI " for keeps!"" Tip cheers.
|
||||
You hear a voice come over the "
|
||||
PRINTD SONARPHONE
|
||||
PRINTI ": "
|
||||
?PRG3: PRINTI """"
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", this is Sharon! Do you read me?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?PRG3
|
||||
PRINTI """Something hit us, and Thorpe's out cold! He cracked his skull on the bulkhead! I was waking up when I saw it all happen. I'll tie him up so he can't cause any trouble.
|
||||
The "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI "'s regular engine is kaput, but he installed a backup engine for emergencies. And the sonar control's still working. If you like, I'll guide the monster to its cavern.""
|
||||
"
|
||||
GETP GREENUP,P?VALUE
|
||||
ZERO? STACK /?CND12
|
||||
CALL TIP-SAYS
|
||||
PRINTI "It's too bad we didn't find the "
|
||||
PRINTD TRAITOR
|
||||
PRINTI " at the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI ".""
|
||||
"
|
||||
?CND12: PRINTI "
|
||||
CONGRATULATIONS, "
|
||||
CALL PRINT-NAME,FIRST-NAME,1
|
||||
PRINTI "! YOU'VE COMPLETED YOUR MISSION!!"
|
||||
CALL FINISH
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT MOUNT,WHICH,WEAPON,OBJ
|
||||
GET ON-SUB,WHICH >OBJ
|
||||
ZERO? OBJ /?CND1
|
||||
MOVE OBJ,AIRLOCK
|
||||
?CND1: PUT ON-SUB,WHICH,WEAPON
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT MOUNT-WEAPON,OBJ
|
||||
EQUAL? OBJ,BAZOOKA \?ELS3
|
||||
CALL SCORE-OBJ,BLY
|
||||
PUTP BAZOOKA,P?LDESC,STR?62
|
||||
GETP BAZOOKA,P?VALUE
|
||||
ZERO? STACK /?CND4
|
||||
PRINTI """Of course I'll have to get it first."""
|
||||
CRLF
|
||||
CALL SCORE-OBJ,BAZOOKA
|
||||
?CND4: CALL MOUNT,0,BAZOOKA
|
||||
JUMP ?CND1
|
||||
?ELS3: EQUAL? OBJ,DART \?ELS10
|
||||
PUTP DART,P?LDESC,STR?63
|
||||
CALL SCORE-OBJ,HORVAK
|
||||
CALL MOUNT,1,DART
|
||||
JUMP ?CND1
|
||||
?ELS10: GET ON-SUB,0
|
||||
ZERO? STACK /?ELS12
|
||||
GET ON-SUB,1
|
||||
ZERO? STACK /?ELS15
|
||||
PRINTI "The claws are holding all they can."
|
||||
CRLF
|
||||
RFALSE
|
||||
?ELS15: PUT ON-SUB,1,OBJ
|
||||
JUMP ?CND1
|
||||
?ELS12: PUT ON-SUB,0,OBJ
|
||||
?CND1: EQUAL? HERE,SUB,CRAWL-SPACE \?ELS24
|
||||
MOVE OBJ,SUB
|
||||
JUMP ?CND22
|
||||
?ELS24: ZERO? SUB-IN-DOME /?ELS26
|
||||
MOVE OBJ,AIRLOCK
|
||||
JUMP ?CND22
|
||||
?ELS26: MOVE OBJ,NORTH-TANK-AREA
|
||||
?CND22: FSET OBJ,NDESCBIT
|
||||
FCLEAR OBJ,TAKEBIT
|
||||
FSET OBJ,TRYTAKEBIT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT FINE-SEQUENCE
|
||||
ZERO? TIP-FOLLOWS-YOU? /FALSE
|
||||
CALL READY-FOR-SNARK?
|
||||
ZERO? STACK \FALSE
|
||||
CALL MOVE-HERE-NOT-SUB,BLY
|
||||
PRINTI """Are you ready to take off now, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "?"" Zoe Bly "
|
||||
IN? BLY,HERE \?ELS12
|
||||
PUSH STR?64
|
||||
JUMP ?CND8
|
||||
?ELS12: PUSH STR?65
|
||||
?CND8: PRINT STACK
|
||||
PRINTI "s anxiously."
|
||||
CALL YES?
|
||||
ZERO? STACK /FALSE
|
||||
PRINTI """Wait!"" Tip cuts in. "
|
||||
SET 'WINNER,PLAYER
|
||||
CALL PERFORM,V?ASK-ABOUT,TIP,FINE-GRID
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT BAZOOKA-F
|
||||
CALL WEAPON-F,BAZOOKA
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT I-THORPE-APPEARS
|
||||
GRTR? 17,SUB-LON /?THN6
|
||||
LESS? -17,SUB-LAT /?THN6
|
||||
EQUAL? SUB-DEPTH,AIRLOCK-DEPTH /?ELS5
|
||||
?THN6: SUB MOVES,LEFT-DOME
|
||||
LESS? 40,STACK \FALSE
|
||||
SET 'LEFT-DOME,MOVES
|
||||
PRINTI "Suddenly "
|
||||
CALL TIP-SAYS
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", what "
|
||||
PRINTD INTDIR
|
||||
PRINTI " do you think the "
|
||||
PRINTD SNARK
|
||||
PRINTR " went, anyway?"""
|
||||
?ELS5: CALL QUEUE,I-SNARK-ATTACKS,0
|
||||
CALL QUEUE,I-THORPE-APPEARS,0
|
||||
CALL QUEUE,I-THORPE-AWAKES,9
|
||||
PUT STACK,0,1
|
||||
FSET SEARCH-BEAM,ONBIT
|
||||
PRINTI """Holy halibut!"" cries Tip. ""There's a big cloud of silt ahead in the "
|
||||
PRINTD SEARCH-BEAM
|
||||
PRINTI ". It's out of sonar range. This could be the "
|
||||
PRINTD SNARK
|
||||
PRINTI "! Want to hold course till we find out?"""
|
||||
CALL YES?
|
||||
PRINTI "However you steer, the cloud holds steady. You may be on a collision course with the behemoth that almost wrecked the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI "!
|
||||
"
|
||||
PRINTI "Your "
|
||||
PRINTD SEARCH-BEAM
|
||||
PRINTI " reveals TWO objects dead ahead!
|
||||
One is the "
|
||||
PRINTD SNARK
|
||||
PRINTI ". To the left of the tentacled creature -- YOUR left -- you can make out a vehicle crawling along the ocean floor.
|
||||
"
|
||||
CALL TIP-SAYS
|
||||
PRINTI "That's one of your Sea Cats!""
|
||||
A voice crackles over the "
|
||||
PRINTD SONARPHONE
|
||||
PRINTI ": ""This is "
|
||||
PRINTD GLOBAL-THORPE
|
||||
PRINTI ", "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "! Do you read me?"""
|
||||
CALL YES?
|
||||
PRINTI "Your answer brings a rasping laugh. ""Of course you read me, or you wouldn't be answering! Your "
|
||||
PRINTD LAB-ASSISTANT
|
||||
PRINTI ", "
|
||||
PRINTD SHARON
|
||||
PRINTI ", is seated behind me. She'll enjoy what's about to happen as much as I will. Would you like to hear what's in store for you?"""
|
||||
CALL YES?
|
||||
ZERO? STACK \?ELS31
|
||||
PRINTI """You'll soon find out -- like it or not! "
|
||||
JUMP ?CND29
|
||||
?ELS31: PRINTI """"
|
||||
?CND29: PRINTI "I'll blast your sub with a rocket! Then I'll guide my synthetic monster to the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI " to destroy it! Can you guess what sealed your doom, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "?"""
|
||||
CALL YES?
|
||||
ZERO? STACK \?ELS42
|
||||
PRINTI """"
|
||||
JUMP ?CND40
|
||||
?ELS42: PRINTI """I'll tell you anyhow. "
|
||||
?CND40: PRINTI "I want to own the "
|
||||
PRINTD ORE-NODULES
|
||||
PRINTI " near the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI "! Sharon and I consider it a wedding present from you and your dad ...""
|
||||
Thorpe breaks off with a sudden gulp, followed by some noise and then a soft female voice:
|
||||
"
|
||||
?PRG51: PRINTI """This is "
|
||||
PRINTD SHARON
|
||||
PRINTI ", "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "! Do you read me?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?PRG51
|
||||
CALL PHONE-ON,GLOBAL-SHARON,THORPE-SUB,SONARPHONE
|
||||
CALL QUEUE,I-UPDATE-THORPE,-1
|
||||
PUT STACK,0,1
|
||||
FCLEAR SNARK,INVISIBLE
|
||||
FCLEAR THORPE-SUB,INVISIBLE
|
||||
ADD SUB-LON,SONAR-RANGE
|
||||
ADD 2,STACK >THORPE-LON
|
||||
SUB SUB-LAT,SONAR-RANGE >THORPE-LAT
|
||||
ADD THORPE-LON,THORPE-HLON >SNARK-LON
|
||||
SET 'SNARK-LAT,THORPE-LAT
|
||||
FSET THORPE,MUNGBIT
|
||||
PRINTI """Thank goodness! I conked Thorpe with a wrench! He fell onto the microphone, and he's too heavy for me to move!"""
|
||||
CRLF
|
||||
CALL SCORE-OBJ,SNARK
|
||||
RETURN 2
|
||||
|
||||
|
||||
.FUNCT SHARON-EXPLAINS
|
||||
EQUAL? PRSA,V?SAY /?CND1
|
||||
PRINTI """Wait a second, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", till I catch my breath!"" Sharon cuts in. "
|
||||
?CND1: CALL SHARON-ABOUT-THORPE
|
||||
PRINTI """Can I interrupt, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "?"" asks Tip."
|
||||
CALL YES?
|
||||
ZERO? STACK \?CND8
|
||||
CALL TIP-SAYS
|
||||
PRINTI "Sorry, but I have to. This is important.""
|
||||
"
|
||||
?CND8: PRINTI """Sharon, how does Thorpe control the monster?""
|
||||
""By sonar pulse signals,"" she replies. "
|
||||
PRINT SHARON-ABOUT-MONSTER
|
||||
PRINTI "
|
||||
""Is the transducer sending out signals now?"" Tip asks her.
|
||||
""Yes, it operates all the time. Can you make out our position on your "
|
||||
PRINTD SONARSCOPE
|
||||
PRINTI "?""
|
||||
""Thanks to the "
|
||||
PRINTD FINE-GRID
|
||||
PRINTI "!"" says Tip."
|
||||
ZERO? THROTTLE-SETTING /?CND15
|
||||
SET 'THROTTLE-SETTING,0
|
||||
PRINTI " ""Maybe we'd better stop the "
|
||||
PRINTD SUB
|
||||
PRINTI " before we collide with you!""
|
||||
Tip uses his dual-control throttle to stop your sub. Then he adds apologetically: ""This isn't mutiny, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "! I just figured we should stop now."""
|
||||
?CND15: CRLF
|
||||
PRINT SHARON-ABOUT-CAT
|
||||
PRINTI "
|
||||
""Was it out of control when it attacked the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI "?"" asks Tip.
|
||||
""Oh no!"" Sharon replies. "
|
||||
?PRG22: PRINTI """Thorpe has a helper at the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI " who put a "
|
||||
PRINTD BLACK-BOX
|
||||
PRINTI " on the "
|
||||
PRINTD SONAR-EQUIPMENT
|
||||
PRINTI ", which made it emit signals to ATTRACT the monster and make it attack. Do you follow me so far, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?PRG22
|
||||
PRINTI """Good. Before that first attack, Thorpe got the monster close enough for the "
|
||||
PRINTD BLACK-BOX
|
||||
PRINTI " to take over. Then he surfaced near "
|
||||
PRINTD BAY
|
||||
PRINTI " to get me. By the time we went back to the ocean floor, something had gone wrong: the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI " was okay, and the monster had wandered off to its cavern. That reminds me, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ". "
|
||||
?PRG31: PRINTI "Do you want to take the monster to its cavern peacefully? (With no more sonar pulse input, it'll stay there until you're ready to study it scientifically.)"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?CND35
|
||||
JUMP ?REP32
|
||||
?CND35: PRINTI "(Better listen, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ". Sharon's trying to show you how to deal with this threat to the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI ".)
|
||||
"""
|
||||
JUMP ?PRG31
|
||||
?REP32: PRINTI """First tell me, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ": do you have any tranquilizer or weapon to use against it?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /TRUE
|
||||
PRINTI """Do you want to capture it for scientific study?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?ELS49
|
||||
PRINTR """Then try the following:
|
||||
Position your sub on the other side of the monster -- on the monster's LEFT side -- just 5 meters from it. If anything goes wrong and it gets out of control, you can tranquilize it immediately."""
|
||||
?ELS49: PRINTI """That's odd! I thought you would."""
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT SHARON-ABOUT-THORPE
|
||||
PRINTI """I'm not in on Thorpe's plot, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ". I'm playing along, trying to wreck his plans. I know it was risky for me to leave that "
|
||||
PRINTD CATALYST-CAPSULE
|
||||
PRINTI " out of the "
|
||||
PRINTD SUB
|
||||
ZERO? SHARON-BROKE-CIRCUIT /?CND3
|
||||
PRINTI ", and to open that "
|
||||
PRINTD CIRCUIT-BREAKER
|
||||
?CND3: PRINTI ", but it was part of my plan, and you got to the "
|
||||
PRINTD AQUADOME
|
||||
PRINTR " anyway."""
|
||||
|
||||
|
||||
.FUNCT I-THORPE-AWAKES
|
||||
FCLEAR THORPE,MUNGBIT
|
||||
SET 'SUB-IN-BATTLE,1
|
||||
CALL PHONE-OFF
|
||||
CALL PHONE-ON,GLOBAL-THORPE,THORPE-SUB,SONARPHONE
|
||||
CRLF
|
||||
PRINTI "Suddenly the sonarphone gets louder.
|
||||
"
|
||||
CALL TIP-SAYS
|
||||
PRINTI "That could mean Thorpe is awake and has moved away from the microphone!""
|
||||
You hear a sharp cry of pain from Sharon, then Thorpe yelling: ""That'll take care of you, my little double-crosser!""
|
||||
Thorpe speaks into the microphone: ""Now then, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI " "
|
||||
CALL PRINT-NAME,LAST-NAME
|
||||
PRINTI ", I'm stopping my "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI " so I can blow you into Kingdom Come as soon as you're in my sights!""
|
||||
"
|
||||
CALL STARBOARD-OF-THORPE?,SUB-LON,SUB-LAT
|
||||
ZERO? STACK \?CND5
|
||||
CALL TIP-SAYS
|
||||
PRINTI "He'll have to go around the "
|
||||
PRINTD SNARK
|
||||
PRINTI " to fire at us, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "! And we'll have to go around its tail to shoot at HIM!""
|
||||
"
|
||||
?CND5: CALL TELL-HINT,42,THORPE-SUB,0
|
||||
RETURN 2
|
||||
|
||||
.ENDI
|
||||
747
battle.zap
Normal file
747
battle.zap
Normal file
@@ -0,0 +1,747 @@
|
||||
|
||||
|
||||
.FUNCT THORPE-SHOOT?,X,Y
|
||||
ZERO? SNARK-TRANKED /?ELS5
|
||||
CALL FORWARD-OF-THORPE?,X,Y
|
||||
RSTACK
|
||||
?ELS5: CALL STARBOARD-OF-THORPE?,X,Y
|
||||
ZERO? STACK /FALSE
|
||||
CALL FORWARD-OF-THORPE?,X,Y
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT STARBOARD-OF-THORPE?,X,Y,?TMP1
|
||||
SUB X,THORPE-LON
|
||||
MUL THORPE-HLAT,STACK >?TMP1
|
||||
SUB Y,THORPE-LAT
|
||||
MUL THORPE-HLON,STACK
|
||||
SUB ?TMP1,STACK
|
||||
GRTR? 0,STACK /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT FORWARD-OF-THORPE?,X,Y,?TMP1
|
||||
SUB X,THORPE-LON
|
||||
MUL THORPE-HLON,STACK >?TMP1
|
||||
SUB THORPE-LAT,Y
|
||||
MUL THORPE-HLAT,STACK
|
||||
SUB ?TMP1,STACK
|
||||
GRTR? 0,STACK /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT THORPE-POS?,LON,LAT
|
||||
EQUAL? SUB-DEPTH,AIRLOCK-DEPTH \FALSE
|
||||
SUB THORPE-LAT,THORPE-HLAT
|
||||
EQUAL? LAT,STACK \?ELS7
|
||||
SUB THORPE-LON,THORPE-HLON
|
||||
EQUAL? LON,STACK /TRUE
|
||||
?ELS7: EQUAL? LAT,THORPE-LAT \FALSE
|
||||
EQUAL? LON,THORPE-LON /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT SNARK-POS?,LON,LAT,?ORTMP
|
||||
CALL SNARK-HEAD-POS?,LON,LAT
|
||||
POP '?ORTMP
|
||||
ZERO? ?ORTMP /?ORP4
|
||||
RETURN ?ORTMP
|
||||
?ORP4: CALL SNARK-TAIL-POS?,LON,LAT
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT SNARK-HEAD-POS?,LON,LAT
|
||||
EQUAL? SUB-DEPTH,AIRLOCK-DEPTH \FALSE
|
||||
EQUAL? LAT,SNARK-LAT \FALSE
|
||||
EQUAL? LON,SNARK-LON /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT SNARK-TAIL-POS?,LON,LAT,X,Y,HLON,HLAT
|
||||
EQUAL? SUB-DEPTH,AIRLOCK-DEPTH \FALSE
|
||||
ZERO? SNARK-TRANKED /?ELS5
|
||||
SET 'HLON,SNARK-HLON
|
||||
SET 'HLAT,SNARK-HLAT
|
||||
JUMP ?CND1
|
||||
?ELS5: SET 'HLON,THORPE-HLON
|
||||
SET 'HLAT,THORPE-HLAT
|
||||
?CND1: SUB SNARK-LON,HLON >X
|
||||
SUB SNARK-LAT,HLAT >Y
|
||||
EQUAL? LAT,Y \?CND9
|
||||
EQUAL? LON,X /TRUE
|
||||
?CND9: SUB X,HLON >X
|
||||
SUB Y,HLAT >Y
|
||||
EQUAL? LAT,Y \?CND14
|
||||
EQUAL? LON,X /TRUE
|
||||
?CND14: SUB Y,HLAT
|
||||
EQUAL? LAT,STACK \FALSE
|
||||
SUB X,HLON
|
||||
EQUAL? LON,STACK /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT THORPE-SUB-F
|
||||
EQUAL? PRSA,V?FIND \?ELS5
|
||||
PRINTR "It's not far away!"
|
||||
?ELS5: EQUAL? PRSA,V?PUSH,V?MOVE \?ELS9
|
||||
PRINTR "It's too big!"
|
||||
?ELS9: EQUAL? PRSA,V?ATTACK,V?KILL,V?SHOOT \?ELS13
|
||||
PRINTI "You have to shoot"
|
||||
CALL THE-PRSO-PRINT
|
||||
PRINTR " with a weapon."
|
||||
?ELS13: EQUAL? PRSA,V?WALK-TO \FALSE
|
||||
PRINTR "You're the pilot!"
|
||||
|
||||
|
||||
.FUNCT I-UPDATE-THORPE,DLAT,DLON,Z
|
||||
ZERO? SUB-IN-BATTLE /?CND1
|
||||
MUL THORPE-HLON,THORPE-HLAT >Z
|
||||
CALL THORPE-SHOOT?,SUB-LON,SUB-LAT
|
||||
ZERO? STACK \?ELS7
|
||||
ZERO? THORPE-DLON \?ELS10
|
||||
ZERO? THORPE-DLAT \?ELS10
|
||||
ZERO? THORPE-TURNING? \?PRD13
|
||||
PUSH 1
|
||||
JUMP ?PRD14
|
||||
?PRD13: PUSH 0
|
||||
?PRD14: SET 'THORPE-TURNING?,STACK
|
||||
ZERO? THORPE-TURNING? /?ELS17
|
||||
JUMP ?CND1
|
||||
?ELS17: CALL STARBOARD-OF-THORPE?,SUB-LON,SUB-LAT
|
||||
ZERO? STACK /?ELS20
|
||||
ZERO? THORPE-HLON \?ELS23
|
||||
SET 'THORPE-HLON,THORPE-HLAT
|
||||
JUMP ?CND5
|
||||
?ELS23: EQUAL? -1,Z \?ELS25
|
||||
SET 'THORPE-HLON,0
|
||||
JUMP ?CND5
|
||||
?ELS25: EQUAL? 1,Z \?ELS27
|
||||
SET 'THORPE-HLAT,0
|
||||
JUMP ?CND5
|
||||
?ELS27: SUB 0,THORPE-HLON >THORPE-HLAT
|
||||
JUMP ?CND5
|
||||
?ELS20: ZERO? THORPE-HLON \?ELS34
|
||||
SUB 0,THORPE-HLAT >THORPE-HLON
|
||||
JUMP ?CND5
|
||||
?ELS34: EQUAL? -1,Z \?ELS36
|
||||
SET 'THORPE-HLAT,0
|
||||
JUMP ?CND5
|
||||
?ELS36: EQUAL? 1,Z \?ELS38
|
||||
SET 'THORPE-HLON,0
|
||||
JUMP ?CND5
|
||||
?ELS38: SET 'THORPE-HLAT,THORPE-HLON
|
||||
JUMP ?CND5
|
||||
?ELS10: SET 'THORPE-DLON,0
|
||||
SET 'THORPE-DLAT,0
|
||||
JUMP ?CND5
|
||||
?ELS7: PRINTI "Thorpe zeroed in on you and fired his rocket! It streaks through the water toward the "
|
||||
PRINTD SUB
|
||||
PRINTI "! In an instant your sub will be just twisted metal, trapping you and Tip forever in Davy Jones's locker!"
|
||||
CALL FINISH
|
||||
?CND5:
|
||||
?CND1: ADD THORPE-LON,THORPE-DLON >THORPE-LON
|
||||
ADD THORPE-LAT,THORPE-DLAT >THORPE-LAT
|
||||
MUL THORPE-HLON,THORPE-HLAT >Z
|
||||
ZERO? Z \?ELS49
|
||||
ZERO? THORPE-HLAT \?ELS52
|
||||
ADD THORPE-LAT,THORPE-HLON >SNARK-LAT
|
||||
ADD THORPE-LON,THORPE-HLON >SNARK-LON
|
||||
RFALSE
|
||||
?ELS52: ADD THORPE-LAT,THORPE-HLAT >SNARK-LAT
|
||||
SUB THORPE-LON,THORPE-HLAT >SNARK-LON
|
||||
RFALSE
|
||||
?ELS49: EQUAL? -1,Z \?ELS56
|
||||
ADD THORPE-LON,THORPE-HLON >SNARK-LON
|
||||
SET 'SNARK-LAT,THORPE-LAT
|
||||
RFALSE
|
||||
?ELS56: EQUAL? 1,Z \FALSE
|
||||
ADD THORPE-LAT,THORPE-HLAT >SNARK-LAT
|
||||
SET 'SNARK-LON,THORPE-LON
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT DART-F
|
||||
CALL WEAPON-F,DART
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT MOUNTING-VERB?,OBJ
|
||||
ZERO? SUB-IN-DOME /FALSE
|
||||
EQUAL? PRSO,OBJ \FALSE
|
||||
EQUAL? PRSA,V?USE /TRUE
|
||||
EQUAL? PRSA,V?SHOW \?ELS13
|
||||
EQUAL? PRSO,BLY \?ELS13
|
||||
EQUAL? PRSI,BAZOOKA /TRUE
|
||||
?ELS13: EQUAL? PRSA,V?PUT-UNDER \?ELS15
|
||||
EQUAL? PRSO,ESCAPE-POD-UNIT \?ELS15
|
||||
EQUAL? PRSI,PILOT-SEAT,CHAIR /TRUE
|
||||
?ELS15: EQUAL? PRSA,V?TIE-TO,V?PUT \FALSE
|
||||
EQUAL? PRSI,CLAW,LOCAL-SUB,GLOBAL-SUB /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT NO-GOOD-MUNGED
|
||||
PRINTD HORVAK
|
||||
PRINTR " has to fix it first."
|
||||
|
||||
|
||||
.FUNCT WEAPON-F,OBJ,WHICH=0,O,NOT-ON-SUB=0,SOMEONE=0
|
||||
CALL BAD-AIR?
|
||||
ZERO? STACK \TRUE
|
||||
EQUAL? PRSA,V?TAKE,V?SEARCH-FOR,V?FIND \?ELS5
|
||||
JUMP ?CND1
|
||||
?ELS5: CALL MOUNTING-VERB?,OBJ
|
||||
ZERO? STACK /?ELS7
|
||||
JUMP ?CND1
|
||||
?ELS7: CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
?CND1: EQUAL? OBJ,DART \?CND10
|
||||
SET 'WHICH,1
|
||||
?CND10: GET ON-SUB,WHICH
|
||||
EQUAL? OBJ,STACK /?CND13
|
||||
SET 'NOT-ON-SUB,TRUE-VALUE
|
||||
?CND13: ZERO? SUB-IN-DOME \?CND16
|
||||
ZERO? NOT-ON-SUB /?CND16
|
||||
PRINTI "You can't use"
|
||||
CALL PRINTT,OBJ
|
||||
PRINTR " now!"
|
||||
?CND16: ZERO? NOT-ON-SUB /?ELS27
|
||||
EQUAL? PRSA,V?SEARCH-FOR,V?FIND \?ELS33
|
||||
LOC OBJ
|
||||
EQUAL? HERE,STACK \FALSE
|
||||
FSET? OBJ,TOUCHBIT /FALSE
|
||||
FCLEAR OBJ,NDESCBIT
|
||||
CALL HE-SHE-IT,WINNER,TRUE-VALUE,STR?55
|
||||
PRINTR " it among lots of equipment and supplies."
|
||||
?ELS33: EQUAL? PRSA,V?TAKE \?ELS44
|
||||
EQUAL? WHICH,1 \FALSE
|
||||
FCLEAR DART,NDESCBIT
|
||||
FSET? DART,MUNGBIT \FALSE
|
||||
CALL NO-GOOD-MUNGED
|
||||
RSTACK
|
||||
?ELS44: CALL MOUNTING-VERB?,OBJ
|
||||
ZERO? STACK /FALSE
|
||||
EQUAL? WINNER,PLAYER /?ELS59
|
||||
SET 'SOMEONE,WINNER
|
||||
JUMP ?CND57
|
||||
?ELS59: CALL FIND-FLAG,HERE,PERSON,PLAYER >SOMEONE
|
||||
ZERO? SOMEONE /?CND57
|
||||
?CND57: ZERO? SOMEONE \?CND62
|
||||
CALL META-LOC,OBJ
|
||||
EQUAL? HERE,STACK /?ELS67
|
||||
CALL NOT-HERE,OBJ
|
||||
RTRUE
|
||||
?ELS67: EQUAL? HERE,AIRLOCK /?CND62
|
||||
CALL NOT-HERE,CLAW
|
||||
RTRUE
|
||||
?CND62: ZERO? WHICH \?ELS74
|
||||
ZERO? SOMEONE /?ELS79
|
||||
EQUAL? HERE,AIRLOCK /?ELS79
|
||||
PRINTI """Good idea! That should stop the "
|
||||
PRINTD SNARK
|
||||
PRINTI "! It could disable an enemy sub, too! Shall I "
|
||||
EQUAL? PRSA,V?PUT \?ELS86
|
||||
PRINTI "do it"
|
||||
JUMP ?CND84
|
||||
?ELS86: PRINTI "have it mounted"
|
||||
EQUAL? PRSI,CLAW /?CND84
|
||||
PRINTI " on an "
|
||||
PRINTD CLAW
|
||||
PRINTI " of the "
|
||||
PRINTD SUB
|
||||
?CND84: PRINTI "?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /TRUE
|
||||
CALL MOUNT-WEAPON,BAZOOKA
|
||||
CALL FINE-SEQUENCE
|
||||
RTRUE
|
||||
?ELS79: CALL MOUNT-WEAPON,BAZOOKA
|
||||
CALL OKAY,BAZOOKA,STR?56
|
||||
CALL FINE-SEQUENCE
|
||||
RTRUE
|
||||
?ELS74: FSET? DART,MUNGBIT \?ELS106
|
||||
CALL NO-GOOD-MUNGED
|
||||
RSTACK
|
||||
?ELS106: CALL MOUNT-WEAPON,DART
|
||||
ZERO? SOMEONE /?ELS111
|
||||
EQUAL? HERE,AIRLOCK /?ELS111
|
||||
PRINTD SOMEONE
|
||||
PRINTI " promptly mounts the "
|
||||
PRINTD DART
|
||||
PRINTI " on an "
|
||||
PRINTD CLAW
|
||||
PRINTI "."
|
||||
CRLF
|
||||
JUMP ?CND109
|
||||
?ELS111: CALL OKAY,DART,STR?56
|
||||
?CND109: GET ON-SUB,0
|
||||
EQUAL? BAZOOKA,STACK \TRUE
|
||||
CALL FINE-SEQUENCE
|
||||
RTRUE
|
||||
?ELS27: EQUAL? PRSA,V?EXAMINE,V?FIND \?ELS127
|
||||
PRINTI "It's mounted on one of the "
|
||||
PRINTD SUB
|
||||
PRINTI "'s "
|
||||
PRINTD CLAW
|
||||
PRINTR "s."
|
||||
?ELS127: EQUAL? PRSA,V?TAKE /?THN132
|
||||
CALL MOUNTING-VERB?,OBJ
|
||||
ZERO? STACK /?ELS131
|
||||
?THN132: PRINTI "You'd better leave it mounted on the "
|
||||
PRINTD CLAW
|
||||
PRINTR "."
|
||||
?ELS131: CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?MOVE-DIR,V?MOVE \?ELS139
|
||||
PRINTR "You should type where you want to aim it."
|
||||
?ELS139: EQUAL? PRSA,V?AIM \?ELS143
|
||||
FSET? CLAW,MUNGBIT \?ELS146
|
||||
PRINTI "Nothing happens. Either the "
|
||||
PRINTD CLAW
|
||||
PRINTI " or the "
|
||||
PRINTD OBJ
|
||||
PRINTI " was damaged when you rammed the "
|
||||
PRINTD SNARK
|
||||
PRINTR "!"
|
||||
?ELS146: EQUAL? PRSI,GLOBAL-THORPE,THORPE-SUB \?ELS150
|
||||
CALL STARBOARD-OF-THORPE?,SUB-LON,SUB-LAT
|
||||
ZERO? STACK \?ELS153
|
||||
CALL YOU-CANT,STR?57,GLOBAL-SNARK,STR?58
|
||||
RTRUE
|
||||
?ELS153: ZERO? SUB-IN-BATTLE /?CND156
|
||||
CALL SCORE-OBJ,THORPE-SUB
|
||||
?CND156: PUT OBJ-AIMED-AT,WHICH,THORPE-SUB
|
||||
PUT LON-AIMED-AT,WHICH,THORPE-LON
|
||||
PUT LAT-AIMED-AT,WHICH,THORPE-LAT
|
||||
JUMP ?CND144
|
||||
?ELS150: EQUAL? PRSI,GLOBAL-SNARK,SNARK \FALSE
|
||||
PUT OBJ-AIMED-AT,WHICH,SNARK
|
||||
PUT LON-AIMED-AT,WHICH,SNARK-LON
|
||||
PUT LAT-AIMED-AT,WHICH,SNARK-LAT
|
||||
?CND144: PRINTR "Aimed."
|
||||
?ELS143: EQUAL? PRSA,V?ATTACK,V?KILL,V?SHOOT \FALSE
|
||||
GET OBJ-AIMED-AT,WHICH >O
|
||||
GET ALREADY-SHOT,WHICH
|
||||
ZERO? STACK /?ELS170
|
||||
PRINTI "You already shot"
|
||||
CALL THE-PRSI-PRINT
|
||||
PRINTR "!"
|
||||
?ELS170: ZERO? O \?CND168
|
||||
PRINTR "You have to aim it first!"
|
||||
?CND168: EQUAL? THORPE-SUB,O \?ELS183
|
||||
EQUAL? PRSO,GLOBAL-THORPE,THORPE-SUB \?THN180
|
||||
?ELS183: EQUAL? SNARK,O \?CND177
|
||||
EQUAL? PRSO,GLOBAL-SNARK,SNARK /?CND177
|
||||
?THN180: PRINTI "You didn't aim it at"
|
||||
CALL THE-PRSO-PRINT
|
||||
PRINTR "."
|
||||
?CND177: EQUAL? PRSO,GLOBAL-THORPE,THORPE-SUB \?ELS192
|
||||
GET LON-AIMED-AT,WHICH
|
||||
EQUAL? STACK,THORPE-LON \?ELS197
|
||||
GET LAT-AIMED-AT,WHICH
|
||||
EQUAL? STACK,THORPE-LAT \?ELS197
|
||||
PUT ALREADY-SHOT,WHICH,TRUE-VALUE
|
||||
ZERO? WHICH \?ELS204
|
||||
CALL MUNG-TARGET
|
||||
RSTACK
|
||||
?ELS204: PRINTI "Fudge! Your tranquilizer dart hit the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI ", and its metal hull can't be put to sleep! Tough luck, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTR "."
|
||||
?ELS197: CALL TOO-BAD-BUT,PRSO
|
||||
PRINTR " moved since you aimed."
|
||||
?ELS192: EQUAL? PRSO,GLOBAL-SNARK,SNARK \FALSE
|
||||
GET LON-AIMED-AT,WHICH
|
||||
EQUAL? STACK,SNARK-LON \?ELS219
|
||||
GET LAT-AIMED-AT,WHICH
|
||||
EQUAL? STACK,SNARK-LAT \?ELS219
|
||||
PUT ALREADY-SHOT,WHICH,TRUE-VALUE
|
||||
SET 'SNARK-TRANKED,TRUE-VALUE
|
||||
SET 'SNARK-HLON,THORPE-HLON
|
||||
SET 'SNARK-HLAT,THORPE-HLAT
|
||||
ZERO? WHICH \?ELS226
|
||||
PRINTI "KA-VOOOM! The "
|
||||
PRINTD SNARK
|
||||
PRINTI " shudders and stops moving! You scored a clean hit with your "
|
||||
PRINTD BAZOOKA
|
||||
PRINTI "!
|
||||
"
|
||||
CALL TIP-SAYS
|
||||
PRINTI "Rats! There goes our safety shield!"" And he's right. Even though you've saved the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI " from further danger of monster attack, the "
|
||||
PRINTD SUB
|
||||
PRINTI " is now exposed to the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTR "'s rocket weapon!"
|
||||
?ELS226: PRINTI "Right on! The dart hits the "
|
||||
PRINTD SNARK
|
||||
PRINTI " and sticks out of its side. The tranquilizer spreads through the "
|
||||
PRINTD SNARK
|
||||
PRINTI ", sending it to Slumberland.
|
||||
But this may have been a bad move. With the "
|
||||
PRINTD SNARK
|
||||
PRINTI " fast asleep, its huge body can't hide you from the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTR "'s rocket attack!"
|
||||
?ELS219: CALL TOO-BAD-BUT,PRSO
|
||||
PRINTR " moved since you aimed."
|
||||
|
||||
|
||||
.FUNCT MUNG-TARGET
|
||||
CALL SCORE-UPD,5
|
||||
FSET PRSO,MUNGBIT
|
||||
PRINTI "Great! You and Tip can see"
|
||||
CALL THE-PRSI-PRINT
|
||||
PRINTI " slam into the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI "'s power pod!
|
||||
""Hooray! That crippled the "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI " for keeps!"" Tip cheers.
|
||||
You hear a voice come over the "
|
||||
PRINTD SONARPHONE
|
||||
PRINTI ": "
|
||||
?PRG3: PRINTI """"
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", this is Sharon! Do you read me?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?PRG3
|
||||
PRINTI """Something hit us, and Thorpe's out cold! He cracked his skull on the bulkhead! I was waking up when I saw it all happen. I'll tie him up so he can't cause any trouble.
|
||||
The "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI "'s regular engine is kaput, but he installed a backup engine for emergencies. And the sonar control's still working. If you like, I'll guide the monster to its cavern.""
|
||||
"
|
||||
GETP GREENUP,P?VALUE
|
||||
ZERO? STACK /?CND12
|
||||
CALL TIP-SAYS
|
||||
PRINTI "It's too bad we didn't find the "
|
||||
PRINTD TRAITOR
|
||||
PRINTI " at the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI ".""
|
||||
"
|
||||
?CND12: PRINTI "
|
||||
CONGRATULATIONS, "
|
||||
CALL PRINT-NAME,FIRST-NAME,TRUE-VALUE
|
||||
PRINTI "! YOU'VE COMPLETED YOUR MISSION!!"
|
||||
CALL FINISH
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT MOUNT,WHICH,WEAPON,OBJ
|
||||
GET ON-SUB,WHICH >OBJ
|
||||
ZERO? OBJ /?CND1
|
||||
MOVE OBJ,AIRLOCK
|
||||
?CND1: PUT ON-SUB,WHICH,WEAPON
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT MOUNT-WEAPON,OBJ
|
||||
EQUAL? OBJ,BAZOOKA \?ELS3
|
||||
CALL SCORE-OBJ,BLY
|
||||
PUTP BAZOOKA,P?LDESC,STR?59
|
||||
GETP BAZOOKA,P?VALUE
|
||||
ZERO? STACK /?CND4
|
||||
PRINTI """Of course I'll have to get it first."""
|
||||
CRLF
|
||||
CALL SCORE-OBJ,BAZOOKA
|
||||
?CND4: CALL MOUNT,0,BAZOOKA
|
||||
JUMP ?CND1
|
||||
?ELS3: EQUAL? OBJ,DART \?ELS10
|
||||
PUTP DART,P?LDESC,STR?60
|
||||
CALL SCORE-OBJ,HORVAK
|
||||
CALL MOUNT,1,DART
|
||||
JUMP ?CND1
|
||||
?ELS10: GET ON-SUB,0
|
||||
ZERO? STACK /?ELS12
|
||||
GET ON-SUB,1
|
||||
ZERO? STACK /?ELS15
|
||||
PRINTI "The claws are holding all they can."
|
||||
CRLF
|
||||
RFALSE
|
||||
?ELS15: PUT ON-SUB,1,OBJ
|
||||
JUMP ?CND1
|
||||
?ELS12: PUT ON-SUB,0,OBJ
|
||||
?CND1: EQUAL? HERE,SUB,CRAWL-SPACE \?ELS24
|
||||
MOVE OBJ,SUB
|
||||
JUMP ?CND22
|
||||
?ELS24: ZERO? SUB-IN-DOME /?ELS26
|
||||
MOVE OBJ,AIRLOCK
|
||||
JUMP ?CND22
|
||||
?ELS26: MOVE OBJ,NORTH-TANK-AREA
|
||||
?CND22: FSET OBJ,NDESCBIT
|
||||
FCLEAR OBJ,TAKEBIT
|
||||
FSET OBJ,TRYTAKEBIT
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT FINE-SEQUENCE
|
||||
ZERO? TIP-FOLLOWS-YOU? /FALSE
|
||||
CALL READY-FOR-SNARK?
|
||||
ZERO? STACK \FALSE
|
||||
CALL MOVE-HERE-NOT-SUB,BLY
|
||||
PRINTI """Are you ready to take off now, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "?"" Zoe Bly "
|
||||
IN? BLY,HERE \?ELS12
|
||||
PUSH STR?61
|
||||
JUMP ?CND8
|
||||
?ELS12: PUSH STR?62
|
||||
?CND8: PRINT STACK
|
||||
PRINTI "s anxiously."
|
||||
CALL YES?
|
||||
ZERO? STACK /FALSE
|
||||
PRINTI """Wait!"" Tip cuts in. "
|
||||
SET 'WINNER,PLAYER
|
||||
CALL PERFORM,V?ASK-ABOUT,TIP,FINE-GRID
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT BAZOOKA-F
|
||||
CALL WEAPON-F,BAZOOKA
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT I-THORPE-APPEARS
|
||||
GRTR? 17,SUB-LON /?THN6
|
||||
LESS? -17,SUB-LAT /?THN6
|
||||
EQUAL? SUB-DEPTH,AIRLOCK-DEPTH /?ELS5
|
||||
?THN6: SUB MOVES,LEFT-DOME
|
||||
LESS? 40,STACK \FALSE
|
||||
SET 'LEFT-DOME,MOVES
|
||||
PRINTI "Suddenly "
|
||||
CALL TIP-SAYS
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
EQUAL? SUB-DEPTH,AIRLOCK-DEPTH \?ELS21
|
||||
PRINTI ", what "
|
||||
PRINTD INTDIR
|
||||
PRINTI " do you think the "
|
||||
PRINTD SNARK
|
||||
PRINTR " went, anyway?"""
|
||||
?ELS21: PRINTR ", I wonder if we're at the right depth?"""
|
||||
?ELS5: CALL QUEUE,I-SNARK-ATTACKS,0
|
||||
CALL QUEUE,I-THORPE-APPEARS,0
|
||||
CALL QUEUE,I-THORPE-AWAKES,9
|
||||
PUT STACK,0,1
|
||||
FSET SEARCH-BEAM,ONBIT
|
||||
PRINTI """Holy halibut!"" cries Tip. ""There's a big cloud of silt ahead in the "
|
||||
PRINTD SEARCH-BEAM
|
||||
PRINTI ". It's out of sonar range. This could be the "
|
||||
PRINTD SNARK
|
||||
PRINTI "! Want to hold course till we find out?"""
|
||||
CALL YES?
|
||||
PRINTI "However you steer, the cloud holds steady. You may be on a collision course with the behemoth that almost wrecked the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI "!
|
||||
"
|
||||
PRINTI "Your "
|
||||
PRINTD SEARCH-BEAM
|
||||
PRINTI " reveals TWO objects dead ahead!
|
||||
One is the "
|
||||
PRINTD SNARK
|
||||
PRINTI ". To the left of the tentacled creature -- YOUR left -- you can make out a vehicle crawling along the ocean floor.
|
||||
"
|
||||
CALL TIP-SAYS
|
||||
PRINTI "That's one of your Sea Cats!""
|
||||
A voice crackles over the "
|
||||
PRINTD SONARPHONE
|
||||
PRINTI ": ""This is "
|
||||
PRINTD GLOBAL-THORPE
|
||||
PRINTI ", "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "! Do you read me?"""
|
||||
CALL YES?
|
||||
PRINTI "Your answer brings a rasping laugh. ""Of course you read me, or you wouldn't be answering! Your "
|
||||
PRINTD LAB-ASSISTANT
|
||||
PRINTI ", "
|
||||
PRINTD SHARON
|
||||
PRINTI ", is seated behind me. She'll enjoy what's about to happen as much as I will. Would you like to hear what's in store for you?"""
|
||||
CALL YES?
|
||||
ZERO? STACK \?ELS42
|
||||
PRINTI """You'll soon find out -- like it or not! "
|
||||
JUMP ?CND40
|
||||
?ELS42: PRINTI """"
|
||||
?CND40: PRINTI "I'll blast your sub with a rocket! Then I'll guide my synthetic monster to the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI " to destroy it! Can you guess what sealed your doom, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "?"""
|
||||
CALL YES?
|
||||
ZERO? STACK \?ELS53
|
||||
PRINTI """"
|
||||
JUMP ?CND51
|
||||
?ELS53: PRINTI """I'll tell you anyhow. "
|
||||
?CND51: PRINTI "I want to own the "
|
||||
PRINTD ORE-NODULES
|
||||
PRINTI " near the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI "! Sharon and I consider it a wedding present from you and your dad ...""
|
||||
Thorpe breaks off with a sudden gulp, followed by some noise and then a soft female voice:
|
||||
"
|
||||
?PRG62: PRINTI """This is "
|
||||
PRINTD SHARON
|
||||
PRINTI ", "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "! Do you read me?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?PRG62
|
||||
CALL PHONE-ON,GLOBAL-SHARON,THORPE-SUB,SONARPHONE
|
||||
CALL QUEUE,I-UPDATE-THORPE,-1
|
||||
PUT STACK,0,1
|
||||
FCLEAR SNARK,INVISIBLE
|
||||
FCLEAR THORPE-SUB,INVISIBLE
|
||||
ADD SUB-LON,SONAR-RANGE
|
||||
ADD 2,STACK >THORPE-LON
|
||||
SUB SUB-LAT,SONAR-RANGE >THORPE-LAT
|
||||
ADD THORPE-LON,THORPE-HLON >SNARK-LON
|
||||
SET 'SNARK-LAT,THORPE-LAT
|
||||
FSET THORPE,MUNGBIT
|
||||
PRINTI """Thank goodness! I conked Thorpe with a wrench! He fell onto the microphone, and he's too heavy for me to move!"""
|
||||
CRLF
|
||||
CALL SCORE-OBJ,SNARK
|
||||
RETURN 2
|
||||
|
||||
|
||||
.FUNCT SHARON-EXPLAINS
|
||||
EQUAL? PRSA,V?SAY /?CND1
|
||||
PRINTI """Wait a second, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", till I catch my breath!"" Sharon cuts in. "
|
||||
?CND1: CALL SHARON-ABOUT-THORPE
|
||||
PRINTI """Can I interrupt, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "?"" asks Tip."
|
||||
CALL YES?
|
||||
ZERO? STACK \?CND8
|
||||
CALL TIP-SAYS
|
||||
PRINTI "Sorry, but I have to. This is important.""
|
||||
"
|
||||
?CND8: PRINTI """Sharon, how does Thorpe control the monster?""
|
||||
""By sonar pulse signals,"" she replies. "
|
||||
CALL SHARON-ABOUT-MONSTER
|
||||
PRINTI """Is the transducer sending out signals now?"" Tip asks her.
|
||||
""Yes, it operates all the time. Can you make out our position on your "
|
||||
PRINTD SONARSCOPE
|
||||
PRINTI "?""
|
||||
""Thanks to the "
|
||||
PRINTD FINE-GRID
|
||||
PRINTI "!"" says Tip."
|
||||
ZERO? THROTTLE-SETTING /?CND17
|
||||
SET 'THROTTLE-SETTING,0
|
||||
PRINTI " ""Maybe we'd better stop the "
|
||||
PRINTD SUB
|
||||
PRINTI " before we collide with you!""
|
||||
Tip uses his dual-control throttle to stop your sub. Then he adds apologetically: ""This isn't mutiny, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "! I just figured we should stop now."""
|
||||
?CND17: CRLF
|
||||
CALL SHARON-ABOUT-CAT
|
||||
PRINTI """Was it out of control when it attacked the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI "?"" asks Tip.
|
||||
""Oh no!"" Sharon replies. "
|
||||
?PRG24: PRINTI """Thorpe has a helper at the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI " who put a "
|
||||
PRINTD BLACK-BOX
|
||||
PRINTI " on the "
|
||||
PRINTD SONAR-EQUIPMENT
|
||||
PRINTI ", which made it emit signals to ATTRACT the monster and make it attack. Do you follow me so far, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?PRG24
|
||||
PRINTI """Good. Before that first attack, Thorpe got the monster close enough for the "
|
||||
PRINTD BLACK-BOX
|
||||
PRINTI " to take over. Then he surfaced near "
|
||||
PRINTD BAY
|
||||
PRINTI " to get me. By the time we went back to the ocean floor, something had gone wrong: the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI " was okay, and the monster had wandered off to its cavern. That reminds me, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ". "
|
||||
?PRG33: PRINTI "Do you want to take the monster to its cavern peacefully? (With no more sonar pulse input, it'll stay there until you're ready to study it scientifically.)"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?CND37
|
||||
JUMP ?REP34
|
||||
?CND37: PRINTI "(Better listen, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ". Sharon's trying to show you how to deal with this threat to the "
|
||||
PRINTD AQUADOME
|
||||
PRINTI ".)
|
||||
"""
|
||||
JUMP ?PRG33
|
||||
?REP34: PRINTI """First tell me, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ": do you have any tranquilizer or weapon to use against it?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /TRUE
|
||||
PRINTI """Do you want to capture it for scientific study?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?ELS51
|
||||
PRINTR """Then try the following:
|
||||
Position your sub on the other side of the monster -- on the monster's LEFT side -- just 5 meters from it. If anything goes wrong and it gets out of control, you can tranquilize it immediately."""
|
||||
?ELS51: PRINTI """That's odd! I thought you would."""
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT SHARON-ABOUT-THORPE
|
||||
PRINTI """I'm not in on Thorpe's plot, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ". I'm playing along, trying to wreck his plans. I know it was risky for me to leave that "
|
||||
PRINTD CATALYST-CAPSULE
|
||||
PRINTI " out of the "
|
||||
PRINTD SUB
|
||||
ZERO? SHARON-BROKE-CIRCUIT /?CND3
|
||||
PRINTI ", and to open that "
|
||||
PRINTD CIRCUIT-BREAKER
|
||||
?CND3: PRINTI ", but it was part of my plan, and you got to the "
|
||||
PRINTD AQUADOME
|
||||
PRINTR " anyway."""
|
||||
|
||||
|
||||
.FUNCT SHARON-ABOUT-MONSTER
|
||||
PRINTI """It's sensitive to the signals on its RIGHT side. Thorpe has installed a sonar transducer on the LEFT or PORT side of this sub. He has to stay on the same side of the monster all the time."""
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT SHARON-ABOUT-CAT
|
||||
PRINTI "Sharon says, ""Notice how we keep 5 meters to the monster's right and 5 meters behind its nose. The Sea Cat is programmed that way, so the signals reach the monster with enough strength to keep it in control."""
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT I-THORPE-AWAKES
|
||||
FCLEAR THORPE,MUNGBIT
|
||||
SET 'SUB-IN-BATTLE,TRUE-VALUE
|
||||
CALL PHONE-OFF
|
||||
CALL PHONE-ON,GLOBAL-THORPE,THORPE-SUB,SONARPHONE
|
||||
PRINTI "
|
||||
Suddenly the sonarphone gets louder.
|
||||
"
|
||||
CALL TIP-SAYS
|
||||
PRINTI "That could mean Thorpe is awake and has moved away from the microphone!""
|
||||
You hear a sharp cry of pain from Sharon, then Thorpe yelling: ""That'll take care of you, my little double-crosser!""
|
||||
Thorpe speaks into the microphone: ""Now then, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI " "
|
||||
CALL PRINT-NAME,LAST-NAME
|
||||
PRINTI ", I'm stopping my "
|
||||
PRINTD THORPE-SUB
|
||||
PRINTI " so I can blow you into Kingdom Come as soon as you're in my sights!""
|
||||
"
|
||||
CALL STARBOARD-OF-THORPE?,SUB-LON,SUB-LAT
|
||||
ZERO? STACK \?CND5
|
||||
CALL TIP-SAYS
|
||||
PRINTI "He'll have to go around the "
|
||||
PRINTD SNARK
|
||||
PRINTI " to fire at us, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "! And we'll have to go around its tail to shoot at HIM!""
|
||||
"
|
||||
?CND5: CALL TELL-HINT,42,THORPE-SUB,FALSE-VALUE
|
||||
RETURN 2
|
||||
|
||||
.ENDI
|
||||
127
battle.zil
127
battle.zil
@@ -97,7 +97,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<COND (<VERB? FIND> <TELL "It's not far away!" CR>)
|
||||
(<VERB? MOVE PUSH> <TELL "It's too big!" CR>)
|
||||
(<VERB? SHOOT KILL ATTACK>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You have to shoot" THE-PRSO " with a weapon." CR>)
|
||||
(<VERB? WALK-TO> <TELL "You're the pilot!" CR>)>>
|
||||
|
||||
@@ -131,7 +131,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<TELL "[T-HLon=" N ,THORPE-HLON
|
||||
", T-HLat=" N ,THORPE-HLAT "]" CR>)>)
|
||||
(T
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Thorpe zeroed in on you and fired his rocket! It streaks through the
|
||||
water toward the " D ,SUB "! In an instant your sub will be just twisted
|
||||
metal, trapping you and Tip forever in Davy Jones's locker!">
|
||||
@@ -179,6 +179,9 @@ metal, trapping you and Tip forever in Davy Jones's locker!">
|
||||
<COND (<NOT ,SUB-IN-DOME> <RFALSE>)
|
||||
(<AND <EQUAL? ,PRSO .OBJ>
|
||||
<OR <VERB? USE>
|
||||
<AND <VERB? SHOW>
|
||||
<DOBJ? BLY>
|
||||
<IOBJ? BAZOOKA>>
|
||||
<AND <VERB? PUT-UNDER>
|
||||
<DOBJ? ESCAPE-POD-UNIT>
|
||||
<IOBJ? CHAIR PILOT-SEAT>>
|
||||
@@ -191,8 +194,7 @@ metal, trapping you and Tip forever in Davy Jones's locker!">
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE NO-GOOD-MUNGED ()
|
||||
%<XTELL
|
||||
"Doc Horvak has to fix it first." CR>>
|
||||
<TELL D ,HORVAK " has to fix it first." CR>>
|
||||
|
||||
<ROUTINE WEAPON-F (OBJ "AUX" (WHICH 0) O (NOT-ON-SUB <>) (SOMEONE <>))
|
||||
<COND (<BAD-AIR?> ;<FSET? ,BLY ,MUNGBIT>
|
||||
@@ -205,7 +207,7 @@ metal, trapping you and Tip forever in Davy Jones's locker!">
|
||||
<COND (<NOT <==? .OBJ <GET ,ON-SUB .WHICH>>>
|
||||
<SET NOT-ON-SUB T>)>
|
||||
<COND (<AND <NOT ,SUB-IN-DOME> .NOT-ON-SUB>
|
||||
%<XTELL "You can't use" THE .OBJ " now!" CR>
|
||||
<TELL "You can't use" THE .OBJ " now!" CR>
|
||||
<RTRUE>)>
|
||||
<COND (.NOT-ON-SUB
|
||||
<COND (<VERB? FIND SEARCH-FOR>
|
||||
@@ -231,7 +233,7 @@ metal, trapping you and Tip forever in Davy Jones's locker!">
|
||||
<RTRUE>)>)>
|
||||
<COND (<0? .WHICH>
|
||||
<COND (<AND .SOMEONE <NOT <==? ,HERE ,AIRLOCK>>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Good idea! That should stop the " D ,SNARK "! It could disable an
|
||||
enemy sub, too! Shall I ">
|
||||
<COND (<VERB? PUT> <TELL "do it">)
|
||||
@@ -255,7 +257,7 @@ enemy sub, too! Shall I ">
|
||||
(T
|
||||
<MOUNT-WEAPON ,DART>
|
||||
<COND (<AND .SOMEONE <NOT <==? ,HERE ,AIRLOCK>>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
D .SOMEONE " promptly mounts the " D ,DART " on an " D ,CLAW "." CR>)
|
||||
(T
|
||||
<OKAY ,DART "mounted">)>
|
||||
@@ -264,16 +266,16 @@ D .SOMEONE " promptly mounts the " D ,DART " on an " D ,CLAW "." CR>)
|
||||
<RTRUE>)>)>)
|
||||
(T
|
||||
<COND (<VERB? FIND EXAMINE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"It's mounted on one of the " D ,SUB "'s " D ,CLAW "s." CR>)
|
||||
(<OR <VERB? TAKE> <MOUNTING-VERB? .OBJ>>
|
||||
%<XTELL "You'd better leave it mounted on the " D ,CLAW "."CR>)
|
||||
<TELL "You'd better leave it mounted on the " D ,CLAW "."CR>)
|
||||
(<REMOTE-VERB?> <RFALSE>)
|
||||
;(,SUB-IN-DOME ;<NOT <EQUAL? ,HERE ,SUB>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You shouldn't do that inside the " D ,AQUADOME "!" CR>)
|
||||
(<VERB? MOVE MOVE-DIR>
|
||||
%<XTELL "You should type where you want to aim it." CR>)
|
||||
<TELL "You should type where you want to aim it." CR>)
|
||||
(<VERB? AIM>
|
||||
<COND (<FSET? ,CLAW ,MUNGBIT>
|
||||
<TELL
|
||||
@@ -296,21 +298,21 @@ when you rammed the " D ,SNARK "!" CR>
|
||||
(T <RFALSE>)>
|
||||
;<COND (<AND ,DEBUG <GET ,OBJ-AIMED-AT .WHICH>>
|
||||
<TELL "[at: " D <GET ,OBJ-AIMED-AT .WHICH> "] ">)>
|
||||
%<XTELL "Aimed." CR>)
|
||||
<TELL "Aimed." CR>)
|
||||
(<VERB? SHOOT KILL ATTACK>
|
||||
<SET O <GET ,OBJ-AIMED-AT .WHICH>>
|
||||
<COND (<GET ,ALREADY-SHOT .WHICH>
|
||||
%<XTELL "You already shot" THE-PRSI "!" CR>
|
||||
<TELL "You already shot" THE-PRSI "!" CR>
|
||||
<RTRUE>)
|
||||
(<NOT .O>
|
||||
%<XTELL "You have to aim it first!" CR>
|
||||
<TELL "You have to aim it first!" CR>
|
||||
<RTRUE>)>
|
||||
;<COND (<0? .I> <SET I ,PRSO>)>
|
||||
<COND (<OR <AND <==? ,THORPE-SUB .O>
|
||||
<NOT <DOBJ? THORPE-SUB GLOBAL-THORPE>>>
|
||||
<AND <==? ,SNARK .O>
|
||||
<NOT <DOBJ? SNARK GLOBAL-SNARK>>>>
|
||||
%<XTELL "You didn't aim it at" THE-PRSO "." CR>
|
||||
<TELL "You didn't aim it at" THE-PRSO "." CR>
|
||||
<RTRUE>)>
|
||||
<COND (<DOBJ? THORPE-SUB GLOBAL-THORPE>
|
||||
<COND (<AND <==? <GET ,LON-AIMED-AT .WHICH> ,THORPE-LON>
|
||||
@@ -318,9 +320,9 @@ when you rammed the " D ,SNARK "!" CR>
|
||||
<PUT ,ALREADY-SHOT .WHICH T>
|
||||
<COND (<0? .WHICH> <MUNG-TARGET>)
|
||||
(T
|
||||
%<XTELL
|
||||
"Fudge! Your tranquilizer dart hit the " D ,THORPE-SUB ", and its metal hull can't
|
||||
be put to sleep! Tough luck, "FN"." CR>)>)
|
||||
<TELL
|
||||
"Fudge! Your tranquilizer dart hit the " D ,THORPE-SUB ", and its metal
|
||||
hull can't be put to sleep! Tough luck, "FN"." CR>)>)
|
||||
(T
|
||||
<TOO-BAD-BUT ,PRSO>
|
||||
<TELL " moved since you aimed." CR>)>)
|
||||
@@ -332,7 +334,7 @@ be put to sleep! Tough luck, "FN"." CR>)>)
|
||||
<SETG SNARK-HLON ,THORPE-HLON>
|
||||
<SETG SNARK-HLAT ,THORPE-HLAT>
|
||||
<COND (<0? .WHICH>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"KA-VOOOM! The " D ,SNARK " shudders and stops moving! You scored a
|
||||
clean hit with your " D ,BAZOOKA "!|
|
||||
">
|
||||
@@ -342,7 +344,7 @@ clean hit with your " D ,BAZOOKA "!|
|
||||
Even though you've saved the " D ,AQUADOME " from further danger of
|
||||
monster attack, the " D ,SUB " is now exposed to the " D ,THORPE-SUB
|
||||
"'s rocket weapon!" CR>)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
"Right on! The dart hits the " D ,SNARK " and sticks out of its side.
|
||||
The tranquilizer spreads through the " D ,SNARK ", sending it to Slumberland.|
|
||||
But this may have been a bad move. With the " D ,SNARK " fast asleep, its
|
||||
@@ -356,7 +358,7 @@ CR>)>)
|
||||
<ROUTINE MUNG-TARGET ()
|
||||
<SCORE-UPD 5>
|
||||
<FSET ,PRSO ,MUNGBIT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Great! You and Tip can see" THE-PRSI " slam into the " D ,THORPE-SUB"'s power
|
||||
pod!|
|
||||
\"Hooray! That crippled the " D ,THORPE-SUB " for keeps!\" Tip cheers.|
|
||||
@@ -364,7 +366,7 @@ You hear a voice come over the " D ,SONARPHONE ": ">
|
||||
<REPEAT ()
|
||||
<TELL "\"" FN ", this is Sharon! Do you read me?\"">
|
||||
<COND (<YES?> <RETURN>)>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Something hit us, and Thorpe's out cold! He cracked his skull on the
|
||||
bulkhead! I was waking up when I saw it all happen. I'll tie him up so
|
||||
he can't cause any trouble.|
|
||||
@@ -380,7 +382,7 @@ you like, I'll guide the monster to its cavern.\"|
|
||||
<TELL "|
|
||||
CONGRATULATIONS, ">
|
||||
<PRINT-NAME ,FIRST-NAME T>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"! YOU'VE COMPLETED YOUR MISSION!!">
|
||||
<FINISH>>
|
||||
|
||||
@@ -421,11 +423,11 @@ CONGRATULATIONS, ">
|
||||
(<READY-FOR-SNARK?>
|
||||
<RFALSE>)>
|
||||
<MOVE-HERE-NOT-SUB ,BLY>
|
||||
%<XTELL "\"Are you ready to take off now, "FN"?\" Zoe Bly "
|
||||
<TELL "\"Are you ready to take off now, "FN"?\" Zoe Bly "
|
||||
<COND (<IN? ,BLY ,HERE> "ask") (T "shout")>
|
||||
"s anxiously.">
|
||||
<COND (<NOT <YES?>> <RFALSE>)>
|
||||
%<XTELL "\"Wait!\" Tip cuts in. ">
|
||||
<TELL "\"Wait!\" Tip cuts in. ">
|
||||
<SETG WINNER ,PLAYER>
|
||||
<PERFORM ,V?ASK-ABOUT ,TIP ,FINE-GRID>>
|
||||
|
||||
@@ -448,27 +450,30 @@ CONGRATULATIONS, ">
|
||||
<NOT <==? ,SUB-DEPTH ,AIRLOCK-DEPTH>>>
|
||||
<COND (<L? 40 <- ,MOVES ,LEFT-DOME>>
|
||||
<SETG LEFT-DOME ,MOVES>
|
||||
%<XTELL "Suddenly ">
|
||||
<TELL "Suddenly ">
|
||||
<TIP-SAYS>
|
||||
<TELL
|
||||
;"Say, " FN ", what " D ,INTDIR " do you think the " D
|
||||
,SNARK " went, anyway?\"" CR>)>)
|
||||
<TELL FN>
|
||||
<COND (<==? ,SUB-DEPTH ,AIRLOCK-DEPTH>
|
||||
<TELL
|
||||
", what " D ,INTDIR " do you think the " D ,SNARK " went, anyway?\"" CR>)
|
||||
(T <TELL
|
||||
", I wonder if we're at the right depth?\"" CR>)>)>)
|
||||
(T
|
||||
<QUEUE I-SNARK-ATTACKS 0>
|
||||
<QUEUE I-THORPE-APPEARS 0>
|
||||
<ENABLE <QUEUE I-THORPE-AWAKES 9 ;-1>>
|
||||
<FSET ,SEARCH-BEAM ,ONBIT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Holy halibut!\" cries Tip. \"There's a big cloud of silt ahead in the "
|
||||
D ,SEARCH-BEAM ". It's out of sonar range. This
|
||||
could be the " D ,SNARK "! Want to hold course till we find out?\"">
|
||||
<YES?>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"However you steer, the cloud holds steady.
|
||||
You may be on a collision course with the behemoth
|
||||
that almost wrecked the " D ,AQUADOME "!|
|
||||
">
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Your " D ,SEARCH-BEAM " reveals TWO
|
||||
objects dead ahead!|
|
||||
One is the " D ,SNARK ". To the left of the tentacled
|
||||
@@ -481,7 +486,7 @@ crawling along the ocean floor.|
|
||||
A voice crackles over the " D ,SONARPHONE ": \"This is " D ,GLOBAL-THORPE
|
||||
", " FN "! Do you read me?\"">
|
||||
<YES?>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Your answer brings a rasping laugh. \"Of course
|
||||
you read me, or you wouldn't be answering!
|
||||
Your " D ,LAB-ASSISTANT
|
||||
@@ -491,14 +496,13 @@ Would you like to hear what's in store for you?\"">
|
||||
<COND (<NOT <YES?>>
|
||||
<TELL "\"You'll soon find out -- like it or not! ">)
|
||||
(T <TELL "\"">)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"I'll blast your sub with a rocket! Then I'll guide my
|
||||
synthetic monster to the " D ,AQUADOME " to destroy it! Can you guess
|
||||
what sealed your doom, " FN "?\"">
|
||||
<COND (<NOT <YES?>> <TELL "\"">)
|
||||
(T <TELL "\"I'll tell you anyhow. ">)>
|
||||
%<XTELL
|
||||
;"Your undersea research station must be eliminated, so I'll have"
|
||||
<TELL
|
||||
"I want to own the " D ,ORE-NODULES " near the " D ,AQUADOME
|
||||
"! Sharon and I consider it a wedding present from you and your dad ...\"|
|
||||
Thorpe breaks off with a sudden gulp, followed by some noise and
|
||||
@@ -517,7 +521,7 @@ then a soft female voice:|
|
||||
<SETG SNARK-LON <+ ,THORPE-LON ,THORPE-HLON>>
|
||||
<SETG SNARK-LAT ,THORPE-LAT>
|
||||
<FSET ,THORPE ,MUNGBIT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Thank goodness! I conked Thorpe with a wrench! He fell onto the
|
||||
microphone, and he's too heavy for me to move!\"" CR>
|
||||
<SCORE-OBJ ,SNARK>
|
||||
@@ -531,13 +535,15 @@ microphone, and he's too heavy for me to move!\"" CR>
|
||||
<TELL "\"Can I interrupt, "FN"?\" asks Tip.">
|
||||
<COND (<NOT <YES?>>
|
||||
<TIP-SAYS>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Sorry, but I have to. This is important.\"|
|
||||
">)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Sharon, how does Thorpe control the monster?\"|
|
||||
\"By sonar pulse signals,\" she replies. " ,SHARON-ABOUT-MONSTER "|
|
||||
\"Is the transducer sending out signals now?\" Tip asks her.|
|
||||
\"By sonar pulse signals,\" she replies. ">
|
||||
<SHARON-ABOUT-MONSTER>
|
||||
<TELL
|
||||
"\"Is the transducer sending out signals now?\" Tip asks her.|
|
||||
\"Yes, it operates all the time. Can you make out our position on your "
|
||||
D ,SONARSCOPE "?\"|
|
||||
\"Thanks to the " D ,FINE-GRID "!\" says Tip.">
|
||||
@@ -549,16 +555,17 @@ Tip uses his dual-control throttle to stop your sub.
|
||||
Then he adds apologetically:
|
||||
\"This isn't mutiny, "FN"! I just figured we should stop now.\"">)>
|
||||
<CRLF>
|
||||
%<XTELL ,SHARON-ABOUT-CAT "|
|
||||
\"Was it out of control when it attacked the " D ,AQUADOME "?\" asks Tip.|
|
||||
<SHARON-ABOUT-CAT>
|
||||
<TELL
|
||||
"\"Was it out of control when it attacked the " D ,AQUADOME "?\" asks Tip.|
|
||||
\"Oh no!\" Sharon replies. ">
|
||||
<REPEAT ()
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Thorpe has a helper at the " D ,AQUADOME " who put a
|
||||
" D ,BLACK-BOX " on the " D ,SONAR-EQUIPMENT ", which made it emit signals to
|
||||
ATTRACT the monster and make it attack. Do you follow me so far, " FN "?\"">
|
||||
<COND (<YES?> <RETURN>)>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Good. Before that first attack, Thorpe got the monster close enough
|
||||
for the " D ,BLACK-BOX " to take over. Then he surfaced near " D ,BAY
|
||||
" to get me.
|
||||
@@ -566,22 +573,22 @@ By the time we went back to the ocean floor, something had gone wrong: the " D
|
||||
,AQUADOME " was okay, and the monster had wandered off to its cavern.
|
||||
That reminds me, "FN". ">
|
||||
<REPEAT ()
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Do you want to take the monster to its cavern peacefully? (With no
|
||||
more sonar pulse input, it'll stay there till you're ready to study it
|
||||
more sonar pulse input, it'll stay there until you're ready to study it
|
||||
scientifically.)\"">
|
||||
<COND (<YES?> <RETURN>)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"(Better listen, "FN". Sharon's trying to show you how to deal with
|
||||
this threat to the " D ,AQUADOME ".)|
|
||||
\"">>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"First tell me, "FN": do you have any tranquilizer or weapon
|
||||
to use against it?\"">
|
||||
<COND (<YES?>
|
||||
%<XTELL "\"Do you want to capture it for scientific study?\"">
|
||||
<TELL "\"Do you want to capture it for scientific study?\"">
|
||||
<COND (<YES?>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Then try the following:|
|
||||
Position your sub on the other side of the monster -- on the monster's
|
||||
LEFT side -- just 5 meters from it. If anything goes wrong and it gets out
|
||||
@@ -590,7 +597,7 @@ of control, you can tranquilize it immediately.\"" CR>)
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE SHARON-ABOUT-THORPE ()
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"I'm not in on Thorpe's plot, "FN". I'm playing along, trying to wreck
|
||||
his plans. I know it was risky for me to leave that " D
|
||||
,CATALYST-CAPSULE " out of the " D ,SUB>
|
||||
@@ -600,25 +607,27 @@ his plans. I know it was risky for me to leave that " D
|
||||
", but it was part of my plan, and you got to the " D ,AQUADOME " anyway.\""
|
||||
CR>>
|
||||
|
||||
<GLOBAL SHARON-ABOUT-MONSTER
|
||||
<ROUTINE SHARON-ABOUT-MONSTER ()
|
||||
<TELL
|
||||
"\"It's sensitive to the signals on its RIGHT side.
|
||||
Thorpe has installed a sonar transducer on the LEFT or
|
||||
PORT side of this sub. He has to stay on the same side of
|
||||
the monster all the time.\"">
|
||||
the monster all the time.\"">>
|
||||
|
||||
<GLOBAL SHARON-ABOUT-CAT
|
||||
<ROUTINE SHARON-ABOUT-CAT ()
|
||||
<TELL
|
||||
"Sharon says, \"Notice how we keep 5 meters to the monster's right and 5
|
||||
meters behind its nose.
|
||||
The Sea Cat is programmed that way, so the signals reach
|
||||
the monster with enough strength to keep it in control.\"">
|
||||
the monster with enough strength to keep it in control.\"">>
|
||||
|
||||
<ROUTINE I-THORPE-AWAKES ()
|
||||
<FCLEAR ,THORPE ,MUNGBIT>
|
||||
<SETG SUB-IN-BATTLE T>
|
||||
<PHONE-OFF>
|
||||
<PHONE-ON ,GLOBAL-THORPE ,THORPE-SUB ,SONARPHONE>
|
||||
%<XTELL CR
|
||||
"Suddenly the sonarphone gets louder.|
|
||||
<TELL "|
|
||||
Suddenly the sonarphone gets louder.|
|
||||
">
|
||||
<TIP-SAYS>
|
||||
<TELL
|
||||
@@ -631,7 +640,7 @@ Kingdom Come as soon as you're in my sights!\"|
|
||||
">
|
||||
<COND (<NOT <STARBOARD-OF-THORPE? ,SUB-LON ,SUB-LAT>>
|
||||
<TIP-SAYS>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"He'll have to go around the " D ,SNARK " to fire at us, "FN"!
|
||||
And we'll have to go around its tail to shoot at HIM!\"|
|
||||
">)>
|
||||
|
||||
53
bay.rno
Normal file
53
bay.rno
Normal file
@@ -0,0 +1,53 @@
|
||||
.lm 0
|
||||
.rm 80
|
||||
.c
|
||||
MAP OF FROBTON BAY
|
||||
.s 5
|
||||
.lit
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 3 0 0 6 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 4 4 0 0 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2 2 3 4 4 4 0 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 3 3 3 4 4 4 5 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 3 3 3 4 4 4 4 4 5 5 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 3 3 3 3 4 4 4 4 4 4 5 5 5 5 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 1 1 2 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 1 1 2 2 2 3 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 1 1 2 2 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 0 0 6 6 6
|
||||
0 0 0 0 0 1 1 2 2 3 3 3 4 4 4 4 4 1 1 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 0 0 6 6
|
||||
0 0 0 0 1 1 2 2 3 3 3 4 4 4 4 1 1 1 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 0 0 6
|
||||
0 0 0 0 1 2 2 3 3 3 4 4 4 4 1 1 1 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 0 0
|
||||
0 0 0 1 1 2 3 3 3 4 4 4 4 1 1 1 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 3 0
|
||||
0 0 0 1 2 2 3 3 4 4 4 4 4 1 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 2 1 0
|
||||
0 0 1 1 2 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 2 2 1 0
|
||||
0 0 1 2 2 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 2 1 1 0
|
||||
0 0 2 2 3 3 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 2 1 1 0
|
||||
0 0 3 3 3 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 0 4 4 4 4 3 3 2 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 2 2 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 2 2 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 2 2 1 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 2 2 2 1 1 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 2 2 2 1 1 1 1 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 0 0
|
||||
0 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 2 2 1 1 1 1 1 1 1 1 1 0 0
|
||||
0 2 2 3 3 4 4 4 4 4 4 4 4 4 4 4 1 1 4 4 4 4 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0
|
||||
0 1 2 2 3 4 4 4 4 4 4 4 4 4 1 1 1 4 4 4 4 4 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 0 0
|
||||
0 1 2 2 3 3 4 4 4 4 4 4 1 1 1 1 1 4 4 4 4 3 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0
|
||||
0 1 1 2 2 3 4 4 4 4 4 1 1 1 1 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
|
||||
0 1 1 2 2 3 1 1 1 1 1 1 1 1 1 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
|
||||
0 1 1 2 2 1 1 1 1 1 1 1 1 1 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 1 1 2 2 3 1 1 1 1 1 4 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 1 1 2 2 3 3 4 4 4 4 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
|
||||
0 1 2 2 2 2 3 4 4 4 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
|
||||
0 2 2 2 2 2 3 3 4 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
|
||||
0 0 1 1 1 2 2 3 3 4 4 4 4 4 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 2 2 3 3 3 4 3 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 2 2 2 3 3 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
.eli
|
||||
53
bay.runoff
Normal file
53
bay.runoff
Normal file
@@ -0,0 +1,53 @@
|
||||
.lm 0
|
||||
.rm 80
|
||||
.c
|
||||
MAP OF FROBTON BAY
|
||||
.s 5
|
||||
.lit
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 6 6 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 3 0 0 6 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 3 4 4 0 0 6 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 2 2 2 2 3 3 4 4 4 0 5 6 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 4 5 5 5 6 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 1 2 2 2 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 0 1 1 1 2 2 2 2 3 3 3 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 6 6 6 6 6 6
|
||||
0 0 0 0 0 0 1 1 2 2 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 6 6 6 6 6
|
||||
0 0 0 0 0 1 1 2 2 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 0 6 6 6 6
|
||||
0 0 0 0 1 1 2 2 3 3 3 4 4 4 4 1 1 1 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 4 0 0 6 6 6
|
||||
0 0 0 0 1 2 2 3 3 3 4 4 4 4 1 1 1 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 0 0 6 6
|
||||
0 0 0 1 1 2 2 3 3 4 4 4 4 1 1 1 1 4 4 4 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 0 0 6
|
||||
0 0 0 1 2 2 3 3 4 4 4 4 4 1 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 0 0
|
||||
0 0 0 1 2 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 3 2 2 1 0
|
||||
0 0 1 2 2 3 3 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 2 1 0 0
|
||||
0 0 2 2 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 3 2 2 1 0 0
|
||||
0 0 3 3 3 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 3 2 2 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 0 4 4 4 4 3 2 1 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 2 1 1 1 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 2 2 1 1 0 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 3 2 2 1 1 1 0 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 3 3 3 2 2 2 1 1 1 1 0 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 3 3 2 2 2 1 1 1 1 1 1 0 0
|
||||
0 5 5 5 5 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 0 0
|
||||
0 5 5 5 5 5 5 5 5 5 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 2 2 1 1 1 1 1 1 1 1 1 0 0
|
||||
0 2 2 3 4 4 4 4 4 4 4 4 4 4 4 1 1 1 4 4 4 4 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 0 0
|
||||
0 2 2 2 3 4 4 4 4 4 4 4 4 4 1 1 1 4 4 4 4 4 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 0 0
|
||||
0 1 2 2 3 4 4 4 4 4 4 1 1 1 1 1 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
|
||||
0 1 2 2 2 3 4 4 4 4 1 1 1 1 1 4 4 4 4 3 3 3 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
|
||||
0 1 1 2 2 3 1 1 1 1 1 1 1 1 4 4 4 4 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0
|
||||
0 1 1 2 2 1 1 1 1 1 1 1 1 4 4 4 4 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
|
||||
0 1 1 2 2 3 1 1 1 1 4 4 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
|
||||
0 1 2 2 2 3 3 4 4 4 4 4 4 4 4 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0
|
||||
0 1 2 2 2 2 3 4 4 4 4 4 4 4 3 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0
|
||||
0 2 2 2 2 2 3 3 4 4 4 4 4 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0
|
||||
0 0 1 1 1 2 2 3 3 4 4 4 4 3 3 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
|
||||
0 0 0 1 1 1 2 2 3 3 3 4 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 1 1 1 2 2 2 3 3 3 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 1 1 1 1 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 1 1 1 1 2 2 2 2 2 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 1 1 1 1 2 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
.eli
|
||||
40
clock.zap
40
clock.zap
@@ -6,14 +6,12 @@
|
||||
RETURN CINT
|
||||
|
||||
|
||||
.FUNCT INT,RTN,DEMON=0,E,C,INT
|
||||
.FUNCT INT,RTN,E,C,INT
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
ADD C-TABLE,C-INTS >C
|
||||
?PRG1: EQUAL? C,E \?ELS5
|
||||
SUB C-INTS,C-INTLEN >C-INTS
|
||||
ZERO? DEMON /?ELS7
|
||||
SUB C-DEMONS,C-INTLEN >C-DEMONS
|
||||
?ELS7: ADD C-TABLE,C-INTS >INT
|
||||
ADD C-TABLE,C-INTS >INT
|
||||
PUT INT,C-RTN,RTN
|
||||
RETURN INT
|
||||
?ELS5: GET C,C-RTN
|
||||
@@ -25,33 +23,33 @@
|
||||
|
||||
.FUNCT CLOCKER,C,E,TICK,FLG=0,VAL
|
||||
ZERO? CLOCK-WAIT /?CND1
|
||||
SET 'CLOCK-WAIT,0
|
||||
SET 'CLOCK-WAIT,FALSE-VALUE
|
||||
RFALSE
|
||||
?CND1: ZERO? P-WON /?ELS9
|
||||
?CND1: ZERO? P-WON /?PRD7
|
||||
PUSH C-INTS
|
||||
JUMP ?CND5
|
||||
?ELS9: PUSH C-DEMONS
|
||||
?PRD7: PUSH 0
|
||||
?CND5: ADD C-TABLE,STACK >C
|
||||
ADD C-TABLE,C-TABLELEN >E
|
||||
?PRG13: EQUAL? C,E \?ELS17
|
||||
?PRG11: EQUAL? C,E \?ELS15
|
||||
INC 'MOVES
|
||||
RETURN FLG
|
||||
?ELS17: GET C,C-ENABLED?
|
||||
ZERO? STACK /?CND15
|
||||
?ELS15: GET C,C-ENABLED?
|
||||
ZERO? STACK /?CND13
|
||||
GET C,C-TICK >TICK
|
||||
ZERO? TICK \?ELS22
|
||||
JUMP ?CND15
|
||||
?ELS22: SUB TICK,1
|
||||
ZERO? TICK \?ELS20
|
||||
JUMP ?CND13
|
||||
?ELS20: SUB TICK,1
|
||||
PUT C,C-TICK,STACK
|
||||
GRTR? TICK,1 /?CND20
|
||||
GRTR? TICK,1 /?CND18
|
||||
GET C,C-RTN
|
||||
CALL STACK >VAL
|
||||
ZERO? VAL /?CND20
|
||||
ZERO? FLG /?THN33
|
||||
EQUAL? VAL,M-FATAL \?CND15
|
||||
?THN33: SET 'FLG,VAL
|
||||
?CND20:
|
||||
?CND15: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG13
|
||||
ZERO? VAL /?CND18
|
||||
ZERO? FLG /?THN31
|
||||
EQUAL? VAL,M-FATAL \?CND13
|
||||
?THN31: SET 'FLG,VAL
|
||||
?CND18:
|
||||
?CND13: ADD C,C-INTLEN >C
|
||||
JUMP ?PRG11
|
||||
|
||||
.ENDI
|
||||
|
||||
18
clock.zil
18
clock.zil
@@ -36,13 +36,14 @@ I-UPDATE-FREIGHTER
|
||||
I-UPDATE-SUB-POSITION
|
||||
I-UPDATE-THORPE"
|
||||
|
||||
<CONSTANT C-TABLELEN 111>
|
||||
<CONSTANT C-TABLELEN 222>
|
||||
|
||||
<GLOBAL C-TABLE <ITABLE NONE 111>>
|
||||
<GLOBAL C-TABLE %<COND (<GASSIGNED? PREDGEN> '<ITABLE NONE 111>)
|
||||
(T '<ITABLE NONE 222>)>>
|
||||
|
||||
<GLOBAL C-DEMONS 111>
|
||||
;<GLOBAL C-DEMONS 111>
|
||||
|
||||
<GLOBAL C-INTS 111>
|
||||
<GLOBAL C-INTS 222>
|
||||
|
||||
<CONSTANT C-INTLEN 6>
|
||||
|
||||
@@ -62,15 +63,13 @@ I-UPDATE-THORPE"
|
||||
<PUT <SET CINT <INT .RTN>> ,C-TICK .TICK>
|
||||
.CINT>
|
||||
|
||||
<ROUTINE INT (RTN "OPTIONAL" (DEMON <>) E C INT)
|
||||
#DECL ((RTN) ATOM (DEMON) <OR ATOM FALSE> (E C INT) <PRIMTYPE
|
||||
VECTOR>)
|
||||
<ROUTINE INT (RTN "OPTIONAL" ;(DEMON <>) E C INT)
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<SET C <REST ,C-TABLE ,C-INTS>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
<SETG C-INTS <- ,C-INTS ,C-INTLEN>>
|
||||
<AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,C-INTLEN>>>
|
||||
;<AND .DEMON <SETG C-DEMONS <- ,C-DEMONS ,C-INTLEN>>>
|
||||
<SET INT <REST ,C-TABLE ,C-INTS>>
|
||||
<PUT .INT ,C-RTN .RTN>
|
||||
<RETURN .INT>)
|
||||
@@ -79,10 +78,11 @@ I-UPDATE-THORPE"
|
||||
|
||||
<GLOBAL CLOCK-WAIT <>>
|
||||
;<GLOBAL PRESENT-TIME 0>
|
||||
|
||||
<ROUTINE CLOCKER ("AUX" C E TICK (FLG <>) VAL)
|
||||
#DECL ((C E) <PRIMTYPE VECTOR> (TICK) FIX ;(FLG) ;<OR FALSE ATOM>)
|
||||
<COND (,CLOCK-WAIT <SETG CLOCK-WAIT <>> <RFALSE>)>
|
||||
<SET C <REST ,C-TABLE <COND (,P-WON ,C-INTS) (T ,C-DEMONS)>>>
|
||||
<SET C <REST ,C-TABLE <COND (,P-WON ,C-INTS) ;(T ,C-DEMONS)>>>
|
||||
<SET E <REST ,C-TABLE ,C-TABLELEN>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .C .E>
|
||||
|
||||
208
dome.zap
208
dome.zap
@@ -27,7 +27,7 @@
|
||||
PRINTR "."""
|
||||
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS29
|
||||
LESS? DISTANCE-FROM-BAY,AQUADOME-VISIBLE /?ELS29
|
||||
SET 'P-WON,0
|
||||
SET 'P-WON,FALSE-VALUE
|
||||
GETP LOCAL-SUB,P?TEXT
|
||||
PRINT STACK
|
||||
CRLF
|
||||
@@ -55,11 +55,11 @@
|
||||
|
||||
|
||||
.FUNCT IN-DOME?,RM
|
||||
ZERO? SUB-IN-DOME /?ELS5
|
||||
EQUAL? RM,SUB,CRAWL-SPACE /?THN1
|
||||
EQUAL? RM,SUB,CRAWL-SPACE \?ELS5
|
||||
RETURN SUB-IN-DOME
|
||||
?ELS5: CALL ZMEMQ,RM,IN-DOME-AROUND
|
||||
RSTACK
|
||||
?THN1: RSTACK
|
||||
ZERO? STACK /FALSE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT AIR-ROOM?,RM
|
||||
@@ -125,64 +125,67 @@
|
||||
PRINTD AIRLOCK
|
||||
PRINTR ", at the foot of the ramp."
|
||||
?ELS16: ZERO? RARG \FALSE
|
||||
ZERO? SUB-IN-DOME \?ELS23
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK /?ELS23
|
||||
EQUAL? PRSA,V?WALK-TO,V?THROUGH \FALSE
|
||||
?ELS23: ZERO? SUB-IN-DOME \?ELS27
|
||||
CALL SUB-OUTSIDE-AIRLOCK?
|
||||
ZERO? STACK \?ELS23
|
||||
ZERO? STACK \?ELS27
|
||||
CALL NOT-HERE,AIRLOCK
|
||||
RSTACK
|
||||
?ELS23: EQUAL? PRSA,V?EMPTY \?ELS27
|
||||
ZERO? AIRLOCK-FULL \?ELS32
|
||||
CALL ALREADY,AIRLOCK,STR?70
|
||||
?ELS27: EQUAL? PRSA,V?EMPTY \?ELS31
|
||||
ZERO? AIRLOCK-FULL \?ELS36
|
||||
CALL ALREADY,AIRLOCK,STR?65
|
||||
RSTACK
|
||||
?ELS32: FSET? AIRLOCK-HATCH,OPENBIT \?ELS34
|
||||
CALL YOU-CANT,0,AIRLOCK-HATCH,STR?23
|
||||
?ELS36: FSET? AIRLOCK-HATCH,OPENBIT \?ELS38
|
||||
CALL YOU-CANT,FALSE-VALUE,AIRLOCK-HATCH,STR?21
|
||||
RSTACK
|
||||
?ELS34: EQUAL? HERE,SUB,CRAWL-SPACE /?THN37
|
||||
?ELS38: EQUAL? HERE,SUB,CRAWL-SPACE /?THN41
|
||||
EQUAL? HERE,BLY-OFFICE,FOOT-OF-RAMP \FALSE
|
||||
?THN37: CALL QUEUE,I-AIRLOCK-EMPTY,2
|
||||
?THN41: CALL QUEUE,I-AIRLOCK-EMPTY,2
|
||||
PUT STACK,0,1
|
||||
PRINTR "This will take 1 turn."
|
||||
?ELS27: EQUAL? PRSA,V?FILL \?ELS42
|
||||
ZERO? AIRLOCK-FULL /?ELS45
|
||||
CALL ALREADY,AIRLOCK,STR?71
|
||||
?ELS31: EQUAL? PRSA,V?FILL \?ELS46
|
||||
ZERO? AIRLOCK-FULL /?ELS49
|
||||
CALL ALREADY,AIRLOCK,STR?66
|
||||
RTRUE
|
||||
?ELS45: FSET? AIRLOCK-ELECTRICITY,ONBIT /?ELS48
|
||||
CALL YOU-CANT,0,AIRLOCK-ELECTRICITY,STR?44
|
||||
?ELS49: FSET? AIRLOCK-ELECTRICITY,ONBIT /?ELS52
|
||||
CALL YOU-CANT,FALSE-VALUE,AIRLOCK-ELECTRICITY,STR?39
|
||||
RTRUE
|
||||
?ELS48: CALL AIRLOCK-POP?
|
||||
ZERO? STACK /?CND43
|
||||
CALL YOU-CANT,0,AIRLOCK,STR?72
|
||||
?ELS52: CALL AIRLOCK-POP?
|
||||
ZERO? STACK /?CND47
|
||||
CALL YOU-CANT,FALSE-VALUE,AIRLOCK,STR?67
|
||||
RTRUE
|
||||
?CND43: ZERO? GREENUP-ESCAPE \?CND51
|
||||
FSET? SUB-DOOR,OPENBIT \?CND54
|
||||
CALL YOU-CANT,0,SUB-DOOR,STR?23
|
||||
?CND47: ZERO? GREENUP-ESCAPE \?CND55
|
||||
FSET? SUB-DOOR,OPENBIT \?CND58
|
||||
CALL YOU-CANT,FALSE-VALUE,SUB-DOOR,STR?21
|
||||
RTRUE
|
||||
?CND54: FSET? AIRLOCK-ROOF,OPENBIT \?CND51
|
||||
?CND58: FSET? AIRLOCK-ROOF,OPENBIT \?CND55
|
||||
CALL THIS-IS-IT,AIRLOCK-ROOF
|
||||
PRINTI "A safety mechanism prevents it. The "
|
||||
PRINTD AIRLOCK-ROOF
|
||||
PRINTR " is open!"
|
||||
?CND51: ZERO? GREENUP-ESCAPE /?ELS66
|
||||
GRTR? 4,GREENUP-ESCAPE \?ELS66
|
||||
?CND55: ZERO? GREENUP-ESCAPE /?ELS70
|
||||
GRTR? 4,GREENUP-ESCAPE \?ELS70
|
||||
PRINTI "Greenup is frantically scrambling back up the ladder to avoid being swept off and drowned! "
|
||||
CALL GREENUP-CUFF
|
||||
PRINTI "Tip immediately empties the "
|
||||
PRINTD AIRLOCK
|
||||
PRINTR " again."
|
||||
?ELS66: EQUAL? HERE,SUB,CRAWL-SPACE /?THN75
|
||||
?ELS70: EQUAL? HERE,SUB,CRAWL-SPACE /?THN79
|
||||
EQUAL? HERE,BLY-OFFICE,FOOT-OF-RAMP \FALSE
|
||||
?THN75: CALL QUEUE,I-AIRLOCK-EMPTY,2
|
||||
?THN79: CALL QUEUE,I-AIRLOCK-EMPTY,2
|
||||
PUT STACK,0,1
|
||||
PRINTR "This will take 1 turn."
|
||||
?ELS42: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS80
|
||||
?ELS46: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS84
|
||||
CALL PERFORM,PRSA,AIRLOCK-HATCH
|
||||
RTRUE
|
||||
?ELS80: EQUAL? PRSA,V?WALK-TO,V?THROUGH \FALSE
|
||||
ZERO? SUB-IN-DOME \?CND83
|
||||
EQUAL? HERE,SUB,CRAWL-SPACE \?CND83
|
||||
?ELS84: EQUAL? PRSA,V?WALK-TO,V?THROUGH \FALSE
|
||||
ZERO? SUB-IN-DOME \?CND87
|
||||
EQUAL? HERE,SUB,CRAWL-SPACE \?CND87
|
||||
CALL TOO-BAD-BUT,PRSO,STR?16
|
||||
RTRUE
|
||||
?CND83: SET 'PRSO,AIRLOCK
|
||||
?CND87: SET 'PRSO,AIRLOCK
|
||||
CALL CHEERS?
|
||||
RFALSE
|
||||
|
||||
@@ -202,7 +205,7 @@
|
||||
.FUNCT I-AIRLOCK-EMPTY
|
||||
ZERO? AIRLOCK-FULL /?ELS5
|
||||
FSET? AIRLOCK-HATCH,OPENBIT /FALSE
|
||||
SET 'AIRLOCK-FULL,0
|
||||
SET 'AIRLOCK-FULL,FALSE-VALUE
|
||||
CRLF
|
||||
PRINTI "The "
|
||||
PRINTD AIRLOCK
|
||||
@@ -227,7 +230,7 @@ A ramp swings down from the top of the "
|
||||
PRINTI "."
|
||||
CRLF
|
||||
RETURN 2
|
||||
?ELS5: SET 'AIRLOCK-FULL,1
|
||||
?ELS5: SET 'AIRLOCK-FULL,TRUE-VALUE
|
||||
CRLF
|
||||
PRINTI "The "
|
||||
PRINTD AIRLOCK
|
||||
@@ -362,7 +365,7 @@ Doctor Walt Horvak, marine biologist and first-aid medic;
|
||||
PRINTI "The "
|
||||
PRINTD CREW-GLOBAL
|
||||
CALL NOT-HERE-PERSON,CREW
|
||||
SET 'P-CONT,0
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
RTRUE
|
||||
?ELS5: EQUAL? PRSA,V?WALK-TO \?ELS11
|
||||
CALL PERFORM,PRSA,CREW
|
||||
@@ -412,10 +415,10 @@ Doctor Walt Horvak, marine biologist and first-aid medic;
|
||||
EQUAL? PRSA,V?WAIT-UNTIL,V?WAIT-FOR /FALSE
|
||||
IN? OXYGEN-GEAR,PLAYER \?THN8
|
||||
FSET? OXYGEN-GEAR,ONBIT /FALSE
|
||||
?THN8: PRINTI "You are having"
|
||||
?THN8: PRINTI "You are having "
|
||||
GRTR? 13,DOME-AIR-BAD? /?CND12
|
||||
PRINTI " real"
|
||||
?CND12: PRINTR " trouble breathing."
|
||||
PRINTI "real "
|
||||
?CND12: PRINTR "trouble breathing."
|
||||
|
||||
|
||||
.FUNCT TIP-REPORTS?
|
||||
@@ -432,7 +435,7 @@ Doctor Walt Horvak, marine biologist and first-aid medic;
|
||||
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS5
|
||||
ZERO? DOME-AIR-BAD? \?CND6
|
||||
SET 'DOME-AIR-BAD?,INITIAL-DOME-AIR-BAD
|
||||
SET 'DOME-AIR-CRIME,1
|
||||
SET 'DOME-AIR-CRIME,TRUE-VALUE
|
||||
CALL QUEUE,I-DOME-AIR,-1
|
||||
PUT STACK,0,1
|
||||
CALL VISIBLE?,BLY >X
|
||||
@@ -516,7 +519,7 @@ At this desperate moment, "
|
||||
FSET SPECIAL-TOOL,TOUCHBIT
|
||||
REMOVE SPECIAL-TOOL-GLOBAL
|
||||
CALL FIX-AIR-SUPPLY
|
||||
SET 'HORVAK-FIXED-AIR,1
|
||||
SET 'HORVAK-FIXED-AIR,TRUE-VALUE
|
||||
PRINTI ". He's clutching an oddly-shaped gadget.
|
||||
"
|
||||
CALL TIP-SAYS
|
||||
@@ -545,9 +548,9 @@ At this desperate moment, "
|
||||
?ELS89: PRINTI ". He "
|
||||
LOC HORVAK
|
||||
EQUAL? HERE,STACK \?ELS118
|
||||
PUSH STR?74
|
||||
PUSH STR?69
|
||||
JUMP ?CND114
|
||||
?ELS118: PUSH STR?65
|
||||
?ELS118: PUSH STR?62
|
||||
?CND114: PRINT STACK
|
||||
PRINTI "s, ""I never wanted it to go this far! I sabotaged the "
|
||||
PRINTD AIR-SUPPLY-SYSTEM
|
||||
@@ -568,7 +571,7 @@ As Doc breaks down in tears and Bly suffocates, you realize there's no point in
|
||||
PUT STACK,0,0
|
||||
CALL QUEUE,I-ANTRIM-TO-SUB,10
|
||||
PUT STACK,0,1
|
||||
SET 'DOME-AIR-BAD?,0
|
||||
SET 'DOME-AIR-BAD?,FALSE-VALUE
|
||||
FSET? BLY,MUNGBIT \FALSE
|
||||
FCLEAR BLY,MUNGBIT
|
||||
FCLEAR GREENUP,MUNGBIT
|
||||
@@ -620,7 +623,7 @@ As Doc breaks down in tears and Bly suffocates, you realize there's no point in
|
||||
?ELS29: PRINTD BLY
|
||||
PRINTR " and the others gather to shake your hand and wish you luck on your perilous mission."
|
||||
?ELS22: ZERO? BLY-WELCOMED \FALSE
|
||||
SET 'BLY-WELCOMED,1
|
||||
SET 'BLY-WELCOMED,TRUE-VALUE
|
||||
PRINTD BLY
|
||||
PRINTI " says, """
|
||||
CALL BLY-WELCOME
|
||||
@@ -652,13 +655,13 @@ As Doc breaks down in tears and Bly suffocates, you realize there's no point in
|
||||
EQUAL? EXCLAM-DOME-AIR-BAD,DOME-AIR-BAD? \FALSE
|
||||
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \FALSE
|
||||
CRLF
|
||||
CALL BADGES-RED,1
|
||||
CALL BADGES-RED,TRUE-VALUE
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT BADGES-RED,SHOUT?=0
|
||||
ZERO? BADGES-RED-SAID? \FALSE
|
||||
SET 'BADGES-RED-SAID?,1
|
||||
SET 'BADGES-RED-SAID?,TRUE-VALUE
|
||||
ZERO? SHOUT? /?CND6
|
||||
PRINTI "Someone shouts, "
|
||||
?CND6: PRINTI """Our badges are turning red! The air's bad! Everyone use your "
|
||||
@@ -674,15 +677,15 @@ As Doc breaks down in tears and Bly suffocates, you realize there's no point in
|
||||
|
||||
.FUNCT FROM-HERE,DIR1,DIR2
|
||||
PRINTI "From here, you can go "
|
||||
CALL DIR-PRINT,DIR1,0
|
||||
CALL DIR-PRINT,DIR1,FALSE-VALUE
|
||||
PRINTI " or "
|
||||
CALL DIR-PRINT,DIR2,0
|
||||
CALL DIR-PRINT,DIR2,FALSE-VALUE
|
||||
PRINTR " into the building."
|
||||
|
||||
|
||||
.FUNCT WOMENS-QUARTERS-F,RARG=0
|
||||
EQUAL? RARG,M-LOOK \FALSE
|
||||
CALL QUARTERS-F,WOMENS-QUARTERS,STR?75
|
||||
CALL QUARTERS-F,WOMENS-QUARTERS,STR?70
|
||||
RSTACK
|
||||
|
||||
|
||||
@@ -694,7 +697,7 @@ As Doc breaks down in tears and Bly suffocates, you realize there's no point in
|
||||
|
||||
.FUNCT MENS-QUARTERS-F,RARG=0
|
||||
EQUAL? RARG,M-LOOK \FALSE
|
||||
CALL QUARTERS-F,MENS-QUARTERS,STR?76
|
||||
CALL QUARTERS-F,MENS-QUARTERS,STR?71
|
||||
RSTACK
|
||||
|
||||
|
||||
@@ -744,7 +747,7 @@ As Doc breaks down in tears and Bly suffocates, you realize there's no point in
|
||||
PRINTI ", that he will never willingly surrender it. You have no right to demand it without a search warrant. The "
|
||||
PRINTD AQUADOME
|
||||
PRINTR " is neither a military establishment nor a ship at sea, so you could get in legal trouble."
|
||||
?ELS16: CALL HE-SHE-IT,WINNER,1,STR?77
|
||||
?ELS16: CALL HE-SHE-IT,WINNER,TRUE-VALUE,STR?72
|
||||
PRINTI ", "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ". Do not pursue this any further, or you will lose the respect and cooperation of the "
|
||||
@@ -771,7 +774,7 @@ There must be some way! She doesn't do everything by the rule book. She even bre
|
||||
"
|
||||
FSET? SPECIAL-TOOL,TOUCHBIT \TRUE
|
||||
PRINTI "
|
||||
Well! Sounds as if "
|
||||
Well! It sounds as if "
|
||||
PRINTD HORVAK
|
||||
PRINTI " found the answer to his problem by sabotaging the "
|
||||
PRINTD AIR-SUPPLY-SYSTEM
|
||||
@@ -832,13 +835,13 @@ Well! Sounds as if "
|
||||
?CND17: ZERO? HORVAK-TOLD-AH \TRUE
|
||||
FSET? DART,MUNGBIT \TRUE
|
||||
FSET? HORVAK,BUSYBIT /TRUE
|
||||
SET 'HORVAK-TOLD-AH,1
|
||||
SET 'HORVAK-TOLD-AH,TRUE-VALUE
|
||||
CRLF
|
||||
PRINTD HORVAK
|
||||
PRINTI " says:
|
||||
"""
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", right after the Snark ceased its attack, I detected a high concentration of AH molecules in the "
|
||||
PRINTI ", right after the Snark ceased its attack, I detected a high concentration of A.H. molecules in the "
|
||||
PRINTD GLOBAL-WATER
|
||||
PRINTI " around the "
|
||||
PRINTD AQUADOME
|
||||
@@ -855,12 +858,12 @@ Well! Sounds as if "
|
||||
PRINTD CLAW
|
||||
PRINTI "s.
|
||||
But without knowing the creature's biochemistry, there's no guarantee the 'trank' will work. Shall I go ahead and make some up, anyhow?"""
|
||||
CALL YES?
|
||||
CALL YES? >MAGLOC
|
||||
?CND31: CALL META-LOC,MAGAZINE >MAGLOC
|
||||
CALL IN-DOME?,MAGLOC
|
||||
ZERO? STACK /TRUE
|
||||
CALL TIP-SAYS
|
||||
PRINTI "Wait a minute! Wasn't there something about AH molecules in that "
|
||||
PRINTI "Wait a minute! Wasn't there something about A.H. molecules in that "
|
||||
PRINTD MAGAZINE
|
||||
PRINTI "? Shall "
|
||||
EQUAL? MAGLOC,HERE \?ELS43
|
||||
@@ -876,7 +879,9 @@ But without knowing the creature's biochemistry, there's no guarantee the 'trank
|
||||
PRINTI "Tip "
|
||||
EQUAL? MAGLOC,HERE /?CND60
|
||||
PRINTI "returns quickly and "
|
||||
?CND60: PRINTI "hands you the magazine. "
|
||||
?CND60: PRINTI "hands you the "
|
||||
PRINTD MAGAZINE
|
||||
PRINTI ". "
|
||||
?CND55: CALL THIS-IS-IT,HORVAK
|
||||
PRINTD HORVAK
|
||||
PRINTR " looks interested. ""I'd like to see that."""
|
||||
@@ -920,7 +925,7 @@ But without knowing the creature's biochemistry, there's no guarantee the 'trank
|
||||
|
||||
|
||||
.FUNCT MICROPHONE-DOME-F
|
||||
CALL MICROPHONE-F,1
|
||||
CALL MICROPHONE-F,TRUE-VALUE
|
||||
RSTACK
|
||||
|
||||
|
||||
@@ -961,16 +966,16 @@ But without knowing the creature's biochemistry, there's no guarantee the 'trank
|
||||
CALL EXIT-VERB?
|
||||
ZERO? STACK /?ELS28
|
||||
ZERO? GREENUP-ESCAPE /?ELS35
|
||||
CALL HE-SHE-IT,WINNER,1
|
||||
CALL HE-SHE-IT,WINNER,TRUE-VALUE
|
||||
PRINTR "'d better stay here and trap Greenup."
|
||||
?ELS35: FSET? SPECIAL-TOOL,INVISIBLE \FALSE
|
||||
EQUAL? WINNER,PLAYER \FALSE
|
||||
PRINTI "As you start to leave, you notice"
|
||||
PRINTI "As you start to leave, you notice "
|
||||
CALL SPECIAL-TOOL-VISIBLE
|
||||
RSTACK
|
||||
?ELS28: EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH \FALSE
|
||||
FSET? SPECIAL-TOOL,INVISIBLE \FALSE
|
||||
PRINTI "You find"
|
||||
PRINTI "You find "
|
||||
CALL SPECIAL-TOOL-VISIBLE
|
||||
RSTACK
|
||||
|
||||
@@ -980,13 +985,13 @@ But without knowing the creature's biochemistry, there's no guarantee the 'trank
|
||||
FSET SPECIAL-TOOL,TOUCHBIT
|
||||
REMOVE SPECIAL-TOOL-GLOBAL
|
||||
CALL THIS-IS-IT,SPECIAL-TOOL
|
||||
PRINTI " an oddly shaped metallic object lying under Zoe's desk. It must be the "
|
||||
PRINTI "an oddly shaped metallic object lying under Zoe's desk. It must be the "
|
||||
PRINTD SPECIAL-TOOL
|
||||
PRINTR "!"
|
||||
|
||||
|
||||
.FUNCT ZOE-MENTIONS-EVIDENCE
|
||||
SET 'ZOE-MENTIONED-EVIDENCE,1
|
||||
SET 'ZOE-MENTIONED-EVIDENCE,TRUE-VALUE
|
||||
MOVE TRAITOR,GLOBAL-OBJECTS
|
||||
CALL THIS-IS-IT,EVIDENCE
|
||||
CALL QUEUE,I-BLY-SAYS,6
|
||||
@@ -1003,16 +1008,16 @@ But without knowing the creature's biochemistry, there's no guarantee the 'trank
|
||||
PRINTD AQUADOME
|
||||
PRINTI ", "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI "!"
|
||||
PRINTI "! "
|
||||
ZERO? DOME-AIR-CRIME /?CND10
|
||||
PRINTI " I'm not saying that just because the "
|
||||
PRINTI "I'm not saying that just because the "
|
||||
PRINTD AIR-SUPPLY-SYSTEM
|
||||
PRINTI " had been sabotaged."
|
||||
?CND10: PRINTI " I discovered "
|
||||
PRINTI " was sabotaged. "
|
||||
?CND10: PRINTI "I discovered "
|
||||
ZERO? DOME-AIR-CRIME /?ELS22
|
||||
PUSH STR?78
|
||||
PUSH STR?73
|
||||
JUMP ?CND18
|
||||
?ELS22: PUSH STR?79
|
||||
?ELS22: PUSH STR?74
|
||||
?CND18: PRINT STACK
|
||||
PRINTD EVIDENCE
|
||||
PRINTI " after we talked on the "
|
||||
@@ -1023,7 +1028,7 @@ But without knowing the creature's biochemistry, there's no guarantee the 'trank
|
||||
.FUNCT BLY-DESK-F
|
||||
EQUAL? PRSA,V?LOOK-UNDER \FALSE
|
||||
FSET? SPECIAL-TOOL,TOUCHBIT /FALSE
|
||||
PRINTI "There's"
|
||||
PRINTI "There's "
|
||||
CALL SPECIAL-TOOL-VISIBLE
|
||||
RSTACK
|
||||
|
||||
@@ -1031,17 +1036,17 @@ But without knowing the creature's biochemistry, there's no guarantee the 'trank
|
||||
.FUNCT BLACK-BOX-F
|
||||
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS5
|
||||
FSET? BLACK-BOX,OPENBIT \?ELS10
|
||||
SET 'BLACK-BOX-EXAMINED,1
|
||||
SET 'BLACK-BOX-EXAMINED,TRUE-VALUE
|
||||
PRINTI "After a brief study of the "
|
||||
PRINTD BLACK-CIRCUITRY
|
||||
PRINTR ", you deduce its purpose: it was designed to change the sonar output so the ultrasonic pulses make a more complex pattern (for example BURPETY-BURP-B'DURP) instead of just a simple, clear-cut BURP. This would also make fuzzier blips."
|
||||
PRINTR ", you deduce its purpose: it was designed to change the sonar output so the ultrasonic pulses make a more complex pattern (for example BURPETY BURP B'DURP) instead of just a simple, clear-cut BURP. This would also make fuzzier blips."
|
||||
?ELS10: PRINTR "You'll need a suitable tool to open its cover."
|
||||
?ELS5: EQUAL? PRSA,V?OPEN-WITH,V?OPEN \FALSE
|
||||
FSET? BLACK-BOX,OPENBIT \?ELS23
|
||||
CALL ALREADY,BLACK-BOX,STR?23
|
||||
CALL ALREADY,BLACK-BOX,STR?21
|
||||
RSTACK
|
||||
?ELS23: EQUAL? PRSI,UNIVERSAL-TOOL \?ELS25
|
||||
CALL OKAY,BLACK-BOX,STR?23
|
||||
CALL OKAY,BLACK-BOX,STR?21
|
||||
RSTACK
|
||||
?ELS25: PRINTI "You can't open it with"
|
||||
ZERO? PRSI /?ELS32
|
||||
@@ -1117,7 +1122,7 @@ But without knowing the creature's biochemistry, there's no guarantee the 'trank
|
||||
PRINTD AIRLOCK-ROOF
|
||||
PRINTI ": "
|
||||
FSET? AIRLOCK-ROOF,OPENBIT \?ELS16
|
||||
PUSH STR?23
|
||||
PUSH STR?21
|
||||
JUMP ?CND12
|
||||
?ELS16: PUSH STR?17
|
||||
?CND12: PRINT STACK
|
||||
@@ -1237,13 +1242,9 @@ Tip reports that the part under his seat appears to be okay."
|
||||
CALL THIS-IS-IT,ELECTROLYTE-RELAY
|
||||
PRINTR "Something is lying at the base of the cylinder, just inside the housing."
|
||||
?ELS24: PRINTR "There's a lot of complicated machinery inside."
|
||||
?ELS19: PRINTI "The first thing you notice is a stenciled sign saying: ""To repair "
|
||||
PRINTD AIR-SUPPLY-SYSTEM
|
||||
PRINTI ", first open "
|
||||
PRINTD ACCESS-PLATE
|
||||
PRINTI " with "
|
||||
PRINTD SPECIAL-TOOL
|
||||
PRINTR " hanging on hook at right."" An arrow points to this hook."
|
||||
?ELS19: PRINTI "The first thing you notice is a stenciled sign saying: "
|
||||
CALL READ-AIR-SUPPLY
|
||||
RSTACK
|
||||
?ELS14: CALL TOO-FAR-AWAY,AIR-SUPPLY-SYSTEM
|
||||
RSTACK
|
||||
?ELS9: EQUAL? PRSA,V?WALK-TO,V?FIND \?ELS45
|
||||
@@ -1257,6 +1258,16 @@ Tip reports that the part under his seat appears to be okay."
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT READ-AIR-SUPPLY
|
||||
PRINTI """To repair "
|
||||
PRINTD AIR-SUPPLY-SYSTEM
|
||||
PRINTI ", first open "
|
||||
PRINTD ACCESS-PLATE
|
||||
PRINTI " with "
|
||||
PRINTD SPECIAL-TOOL
|
||||
PRINTR " hanging on hook at right."" An arrow points to this hook."
|
||||
|
||||
|
||||
.FUNCT AIR-SUPPLY-VERB?
|
||||
EQUAL? PRSA,V?YELL-FOR /?THN6
|
||||
EQUAL? PRSA,V?TAKE,V?FIND,V?GIVE \?ELS5
|
||||
@@ -1270,30 +1281,33 @@ Tip reports that the part under his seat appears to be okay."
|
||||
|
||||
|
||||
.FUNCT ACCESS-PLATE-F
|
||||
EQUAL? PRSA,V?EXAMINE \?ELS5
|
||||
FSET? ACCESS-PLATE,OPENBIT \?ELS10
|
||||
EQUAL? PRSA,V?READ \?ELS5
|
||||
CALL READ-AIR-SUPPLY
|
||||
RSTACK
|
||||
?ELS5: EQUAL? PRSA,V?ANALYZE,V?EXAMINE \?ELS7
|
||||
FSET? ACCESS-PLATE,OPENBIT \?ELS12
|
||||
PRINTR "It's open."
|
||||
?ELS10: PRINTI "It's held in place on the cylinder by curiously-shaped fram bolts, which no ordinary wrench will fit."
|
||||
FSET AIR-SUPPLY-SYSTEM,TOUCHBIT
|
||||
?ELS12: PRINTI "It's held in place on the cylinder by curiously-shaped fram bolts, which no ordinary wrench will fit."
|
||||
FSET? AIR-SUPPLY-SYSTEM,TOUCHBIT /TRUE
|
||||
PRINTI " To open it, you need a "
|
||||
PRINTD SPECIAL-TOOL
|
||||
PRINTR ", or something like it."
|
||||
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE \?ELS23
|
||||
?ELS7: EQUAL? PRSA,V?LOOK-INSIDE \?ELS25
|
||||
CALL PERFORM,PRSA,AIR-SUPPLY-SYSTEM,PRSI
|
||||
RTRUE
|
||||
?ELS23: EQUAL? PRSA,V?CLOSE \?ELS25
|
||||
?ELS25: EQUAL? PRSA,V?CLOSE \?ELS27
|
||||
FSET? ACCESS-PLATE,OPENBIT \?ELS32
|
||||
FCLEAR ACCESS-PLATE,OPENBIT
|
||||
CALL OKAY,AIR-SUPPLY-SYSTEM,STR?17
|
||||
RSTACK
|
||||
?ELS32: CALL ALREADY,AIR-SUPPLY-SYSTEM,STR?17
|
||||
RSTACK
|
||||
?ELS25: EQUAL? PRSA,V?TAKE-WITH,V?OPEN-WITH,V?OPEN \?ELS36
|
||||
?ELS27: EQUAL? PRSA,V?TAKE-WITH,V?OPEN-WITH,V?OPEN \?ELS36
|
||||
EQUAL? PRSI,SPECIAL-TOOL,UNIVERSAL-TOOL \?ELS36
|
||||
FSET? ACCESS-PLATE,OPENBIT \?ELS43
|
||||
CALL ALREADY,ACCESS-PLATE,STR?23
|
||||
CALL ALREADY,ACCESS-PLATE,STR?21
|
||||
RSTACK
|
||||
?ELS43: CALL OKAY,ACCESS-PLATE,STR?23
|
||||
?ELS43: CALL OKAY,ACCESS-PLATE,STR?21
|
||||
FSET AIR-SUPPLY-SYSTEM,OPENBIT
|
||||
FSET AIR-SUPPLY-SYSTEM,TOUCHBIT
|
||||
CALL PERFORM,V?LOOK-INSIDE,AIR-SUPPLY-SYSTEM
|
||||
@@ -1301,7 +1315,7 @@ Tip reports that the part under his seat appears to be okay."
|
||||
RTRUE
|
||||
?ELS36: EQUAL? PRSA,V?TAKE-WITH,V?TAKE,V?OPEN \FALSE
|
||||
FSET? ACCESS-PLATE,OPENBIT \?ELS52
|
||||
CALL ALREADY,ACCESS-PLATE,STR?23
|
||||
CALL ALREADY,ACCESS-PLATE,STR?21
|
||||
RSTACK
|
||||
?ELS52: EQUAL? PRSI,SPECIAL-TOOL-GLOBAL \?ELS54
|
||||
CALL NOT-HERE,PRSI
|
||||
@@ -1333,7 +1347,7 @@ Tip reports that the part under his seat appears to be okay."
|
||||
|
||||
|
||||
.FUNCT ARROW-F
|
||||
EQUAL? PRSA,V?FOLLOW \FALSE
|
||||
EQUAL? PRSA,V?ANALYZE,V?EXAMINE,V?FOLLOW \FALSE
|
||||
PRINTR "It points to the hook."
|
||||
|
||||
|
||||
@@ -1384,7 +1398,7 @@ Tip reports that the part under his seat appears to be okay."
|
||||
FCLEAR ELECTROLYTE-RELAY,TAKEBIT
|
||||
FSET ELECTROLYTE-RELAY,NDESCBIT
|
||||
FCLEAR ELECTROLYTE-RELAY,MUNGBIT
|
||||
PUTP ELECTROLYTE-RELAY,P?TEXT,STR?82
|
||||
PUTP ELECTROLYTE-RELAY,P?TEXT,STR?77
|
||||
RTRUE
|
||||
|
||||
|
||||
|
||||
235
dome.zil
235
dome.zil
@@ -19,17 +19,17 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<PERFORM ,V?FIND ,PLAYER>
|
||||
<RTRUE>)
|
||||
(,SUB-IN-OPEN-SEA
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Its location is stored in the " D ,AUTO-PILOT "'s computer memory." CR>)
|
||||
(<AND <NOT ,SUB-IN-DOME>
|
||||
<NOT <==? ,NOW-TERRAIN ,SEA-TERRAIN>>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"The " D ,AQUADOME " encloses the " ,URS " of " D
|
||||
,IU-GLOBAL ", on the ocean floor off the Atlantic coast. Most " LN "
|
||||
subs can reach it by " D ,AUTO-PILOT ".\"" CR>)>)
|
||||
(<AND <VERB? EXAMINE> <NOT <L? ,DISTANCE-FROM-BAY ,AQUADOME-VISIBLE>>>
|
||||
<SETG P-WON <>>
|
||||
%<XTELL <GETP ,LOCAL-SUB ,P?TEXT> CR>)
|
||||
<TELL <GETP ,LOCAL-SUB ,P?TEXT> CR>)
|
||||
(<VERB? LOOK-INSIDE LOOK-OUTSIDE>
|
||||
<PERFORM ,PRSA ,WINDOW>
|
||||
<RTRUE>)
|
||||
@@ -46,14 +46,14 @@ subs can reach it by " D ,AUTO-PILOT ".\"" CR>)>)
|
||||
<PERFORM ,V?FIND ,PLAYER>
|
||||
<RTRUE>)
|
||||
(,SUB-IN-DOME
|
||||
%<XTELL "You're in it!" CR>)
|
||||
<TELL "You're in it!" CR>)
|
||||
(,SUB-IN-OPEN-SEA ;<FSET? ,AUTO-PILOT ,ONBIT>
|
||||
%<XTELL "Let the " D ,AUTO-PILOT " handle that." CR>)
|
||||
(T %<XTELL "First you must reach the open sea." CR>)>)>>
|
||||
<TELL "Let the " D ,AUTO-PILOT " handle that." CR>)
|
||||
(T <TELL "First you must reach the open sea." CR>)>)>>
|
||||
|
||||
<ROUTINE IN-DOME? (RM)
|
||||
<OR <AND ,SUB-IN-DOME <EQUAL? .RM ,SUB ,CRAWL-SPACE>>
|
||||
<ZMEMQ .RM ,IN-DOME-AROUND>>>
|
||||
<COND (<EQUAL? .RM ,SUB ,CRAWL-SPACE> ,SUB-IN-DOME)
|
||||
(<ZMEMQ .RM ,IN-DOME-AROUND> T)>>
|
||||
|
||||
<ROUTINE AIR-ROOM? (RM)
|
||||
<OR <EQUAL? .RM ,FOOT-OF-RAMP ,AIRLOCK ,AIRLOCK-WALL>
|
||||
@@ -75,29 +75,29 @@ subs can reach it by " D ,AUTO-PILOT ".\"" CR>)>)
|
||||
|
||||
<ROUTINE WINDOW-F ("AUX" ;(RM <WINDOW-ROOM ,HERE ,PRSO>) POP)
|
||||
<COND (<VERB? BRUSH>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The window is clean enough without your interference." CR>)
|
||||
(<VERB? EXAMINE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The window is a simple plastic sheet, giving a view of the dome outside."
|
||||
CR>)
|
||||
(<VERB? LOOK-INSIDE LOOK-OUTSIDE>
|
||||
<COND (<0? ,SNARK-ATTACK-COUNT>
|
||||
%<XTELL "You can see the dome outside." CR>)
|
||||
<TELL "You can see the dome outside." CR>)
|
||||
(T
|
||||
;<MOVE-HERE-NOT-SUB ,BLY>
|
||||
<MOVE ,BLY ,HERE>
|
||||
%<XTELL ;" to the southeast"
|
||||
<TELL ;" to the southeast"
|
||||
"The " D ,AQUADOME "'s search lights probe the ocean, but
|
||||
the " D ,GLOBAL-WATER " is too murky for the beams to penetrate.|
|
||||
\"Tip's right!\" " D ,BLY " says. \"That must be the " D ,SNARK " out there.
|
||||
Its tentacles churned up silt from the seabed that way during its first
|
||||
attack, "FN"!\"" CR>)>)
|
||||
(<VERB? MUNG>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Vandalism is for vandals, not famous inventors!" CR>)
|
||||
(<VERB? OPEN CLOSE LOCK UNLOCK>
|
||||
%<XTELL "The window can't be opened." CR>)>>
|
||||
<TELL "The window can't be opened." CR>)>>
|
||||
|
||||
<OBJECT EXERCISE-TRACK
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -134,10 +134,12 @@ attack, "FN"!\"" CR>)>)
|
||||
<COND (<OR ,GREENUP-ESCAPE ,GREENUP-TRAPPED>
|
||||
<MOVE ,LOWELL ,HERE>
|
||||
<MOVE ,ANTRIM ,HERE>
|
||||
%<XTELL "Two of the crew are with you." CR>)>)
|
||||
<TELL "Two of the crew are with you." CR>)>)
|
||||
(<==? .RARG ,M-LOOK>
|
||||
<TELL "You're now in the " D ,AIRLOCK", at the foot of the ramp." CR>)
|
||||
(.RARG <RFALSE>)
|
||||
(<AND <REMOTE-VERB?> <NOT <VERB? THROUGH WALK-TO>>>
|
||||
<RFALSE>)
|
||||
(<AND <NOT ,SUB-IN-DOME> <NOT <SUB-OUTSIDE-AIRLOCK?>>>
|
||||
<NOT-HERE ,AIRLOCK>)
|
||||
(<VERB? EMPTY>
|
||||
@@ -148,7 +150,7 @@ attack, "FN"!\"" CR>)>)
|
||||
(<OR <EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
||||
<EQUAL? ,HERE ,BLY-OFFICE ,FOOT-OF-RAMP>>
|
||||
<ENABLE <QUEUE I-AIRLOCK-EMPTY 2>>
|
||||
%<XTELL "This will take 1 turn." CR>
|
||||
<TELL "This will take 1 turn." CR>
|
||||
;<COND (,GREENUP-ESCAPE
|
||||
<COND (<G? 4 ,GREENUP-ESCAPE>
|
||||
<TELL
|
||||
@@ -193,11 +195,11 @@ CR>
|
||||
<COND (<FSET? ,AIRLOCK-ROOF ,OPENBIT>
|
||||
;<ENABLE <QUEUE I-DOME-FLOODED 2>>
|
||||
<THIS-IS-IT ,AIRLOCK-ROOF>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"A safety mechanism prevents it. The " D ,AIRLOCK-ROOF " is open!" CR>
|
||||
<RTRUE>)>)>
|
||||
<COND (<AND ,GREENUP-ESCAPE <G? 4 ,GREENUP-ESCAPE>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Greenup is frantically scrambling back up the ladder to avoid being
|
||||
swept off and drowned! ">
|
||||
<GREENUP-CUFF>
|
||||
@@ -206,7 +208,7 @@ swept off and drowned! ">
|
||||
(<OR <EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
||||
<EQUAL? ,HERE ,BLY-OFFICE ,FOOT-OF-RAMP>>
|
||||
<ENABLE <QUEUE I-AIRLOCK-EMPTY 2>>
|
||||
%<XTELL "This will take 1 turn." CR>
|
||||
<TELL "This will take 1 turn." CR>
|
||||
<RTRUE>)>)
|
||||
(<VERB? OPEN CLOSE>
|
||||
;<COND (<VERB? FILL>
|
||||
@@ -228,14 +230,14 @@ swept off and drowned! ">
|
||||
<ZMEMQ ,HERE ,IN-DOME-AROUND>
|
||||
<NOT <EQUAL? ,HERE ,AIRLOCK ,AIRLOCK-WALL>>>
|
||||
<COND (<READY-FOR-SNARK?>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Cheers follow as you start up the ladder into the " D ,AIRLOCK "." CR>)>)>>
|
||||
|
||||
<ROUTINE I-AIRLOCK-EMPTY ()
|
||||
<COND (,AIRLOCK-FULL
|
||||
<COND (<FSET? ,AIRLOCK-HATCH ,OPENBIT> <RFALSE>)>
|
||||
<SETG AIRLOCK-FULL <>>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"The " D ,AIRLOCK " is now clear of " D ,GLOBAL-WATER " and filled with
|
||||
air at sea-level pressure.">
|
||||
<COND (<FSET? ,ENGINE ,ONBIT>
|
||||
@@ -244,7 +246,7 @@ air at sea-level pressure.">
|
||||
<COND (T ;<EQUAL? ,HERE ,SUB>
|
||||
<FSET ,AIRLOCK-ROOF ,OPENBIT>
|
||||
<THIS-IS-IT ,SUB-DOOR>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"The roof of the " D ,AIRLOCK " is sliding open, and the " D ,SUB
|
||||
" is in dry dock.|
|
||||
A ramp swings down from the top of the " D ,AIRLOCK "'s north wall to your "
|
||||
@@ -252,7 +254,7 @@ D ,SUB-DOOR "." CR>
|
||||
<RFATAL>)>)
|
||||
(T
|
||||
<SETG AIRLOCK-FULL T>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"The " D ,AIRLOCK " is now filled with " D ,GLOBAL-WATER "." CR>
|
||||
<COND (,SUB-IN-DOME
|
||||
<TELL
|
||||
@@ -269,7 +271,7 @@ grip." CR>)>)>>
|
||||
|
||||
<ROUTINE GREENUP-LADDER-F ()
|
||||
<COND (<VERB? BOARD ;ENTER CLIMB-DOWN CLIMB-ON CLIMB-UP THROUGH>
|
||||
%<XTELL "The " D ,GREENUP-LADDER " is only for emergencies." CR>)>>
|
||||
<TELL "The " D ,GREENUP-LADDER " is only for emergencies." CR>)>>
|
||||
]
|
||||
<OBJECT AIRLOCK-RAMP
|
||||
(IN LOCAL-GLOBALS)
|
||||
@@ -306,10 +308,10 @@ grip." CR>)>)>>
|
||||
|
||||
<ROUTINE AIRLOCK-WALL-F ("OPTIONAL" (ARG <>))
|
||||
<COND (<==? .ARG ,M-LOOK>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You're now atop the north wall of the " D ,AQUADOME "'s " D ,AIRLOCK "."
|
||||
CR>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"This gives you a bird's-eye view of the whole " ,URS " of "
|
||||
D ,IU-GLOBAL ".|
|
||||
|
|
||||
@@ -334,10 +336,10 @@ outside the " D ,AIRLOCK "'s north wall.|
|
||||
<COND (<AND <CREW-5-TOGETHER?>
|
||||
<IN? ,CREW ,FOOT-OF-RAMP>
|
||||
<NOT <FSET? ,BLY ,MUNGBIT>>>
|
||||
%<XTELL D ,BLY " and her five " D ,CREW " are">
|
||||
<TELL D ,BLY " and her five " D ,CREW " are">
|
||||
<COND (<NOT <FSET? ,FOOT-OF-RAMP ,TOUCHBIT>>
|
||||
<TELL " waiting to greet you">)>
|
||||
%<XTELL " at the foot of this ladder." CR>)>)>>
|
||||
<TELL " at the foot of this ladder." CR>)>)>>
|
||||
|
||||
<OBJECT AIRLOCK-LADDER
|
||||
(IN LOCAL-GLOBALS)
|
||||
@@ -371,7 +373,7 @@ outside the " D ,AIRLOCK "'s north wall.|
|
||||
<IOBJ? CREW CREW-GLOBAL>>
|
||||
<AND <VERB? WHAT> <DOBJ? CREW CREW-GLOBAL>>
|
||||
<AND <VERB? TELL-ABOUT> <DOBJ? PLAYER>>>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"The crew consists of:|
|
||||
Doctor Walt Horvak, marine biologist and first-aid medic;|
|
||||
" D ,ANTRIM ", laser expert and frogman;|
|
||||
@@ -386,10 +388,10 @@ Doctor Walt Horvak, marine biologist and first-aid medic;|
|
||||
<TELL D ,PRSO " nods at you." CR>)
|
||||
(<VERB? DIAGNOSE EXAMINE>
|
||||
<COND (,DOME-AIR-BAD?
|
||||
%<XTELL
|
||||
<TELL
|
||||
D ,BLY " and the two divers, Greenup and Lowell, are without
|
||||
oxygen." CR>)
|
||||
(T %<XTELL "All the crew members are okay now." CR>)>)>>
|
||||
(T <TELL "All the crew members are okay now." CR>)>)>>
|
||||
|
||||
<OBJECT CREW-GLOBAL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -448,11 +450,11 @@ oxygen." CR>)
|
||||
<ROUTINE EXAMINE-BADGE ()
|
||||
<COND (,DOME-AIR-BAD?
|
||||
<COND (<FSET? ,AIR-SUPPLY-SYSTEM ,MUNGBIT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The badge is turning red! The air is becoming unbreathable!">)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
"The badge is less red now. The air is improving.">)>)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
"When a badge turns red, the air is no longer breathable.
|
||||
It's not red now.">)>>
|
||||
|
||||
@@ -470,17 +472,17 @@ It's not red now.">)>>
|
||||
(<NOT <FSET? ,AIR-SUPPLY-SYSTEM ,MUNGBIT>> <RFALSE>)
|
||||
(<AIR-SUPPLY-VERB?> <RFALSE>)
|
||||
(T
|
||||
%<XTELL "Shouldn't you fix the " D ,AIR-SUPPLY-SYSTEM " first?" CR>)>>
|
||||
<TELL "Shouldn't you fix the " D ,AIR-SUPPLY-SYSTEM " first?" CR>)>>
|
||||
|
||||
<ROUTINE TROUBLE-BREATHING? ()
|
||||
<COND (<VERB? WAIT-FOR WAIT-UNTIL>
|
||||
<RFALSE>)
|
||||
(<OR <NOT <IN? ,OXYGEN-GEAR ,PLAYER>>
|
||||
<NOT <FSET? ,OXYGEN-GEAR ,ONBIT>>>
|
||||
<TELL "You are having">
|
||||
<TELL "You are having ">
|
||||
<COND (<NOT <G? 13 ,DOME-AIR-BAD?>>
|
||||
<TELL " real">)>
|
||||
<TELL " trouble breathing." CR>)>>
|
||||
<TELL "real ">)>
|
||||
<TELL "trouble breathing." CR>)>>
|
||||
|
||||
<ROUTINE TIP-REPORTS? ()
|
||||
<COND (<AND <NOT <==? ,HERE ,CENTER-OF-DOME>>
|
||||
@@ -517,17 +519,17 @@ Everyone">
|
||||
<SETG DOME-AIR-BAD? <+ 1 ,DOME-AIR-BAD?>>
|
||||
;<COND (,DEBUG <TELL "[Air=" N ,DOME-AIR-BAD? "]" CR>)>
|
||||
<COND (<==? 7 ,DOME-AIR-BAD?>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"In 10 turns Bly, Greenup and Lowell, who were not carrying "
|
||||
D ,OXYGEN-GEAR ", will suffocate from
|
||||
lack of oxygen. In 20 turns, ">
|
||||
<COND (<IN? ,OXYGEN-GEAR ,PLAYER> <TELL "you and the others">)
|
||||
(T <TELL "those">)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
" who do have " D ,OXYGEN-GEAR " will have exhausted their supply of
|
||||
oxygen. Need we say more?" CR>)
|
||||
(<==? 13 ,DOME-AIR-BAD?>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"Zoe Bly and the two crew members without " D ,OXYGEN-GEAR " now
|
||||
have only 4 TURNS left to live! Their lives depend on you, " FN "!" CR>
|
||||
<COND (<AND <NOT <FSET? ,ACCESS-PLATE ,OPENBIT>>
|
||||
@@ -539,12 +541,12 @@ have only 4 TURNS left to live! Their lives depend on you, " FN "!" CR>
|
||||
<COND (<NOT <IN? ,TIP ,HERE>>
|
||||
<MOVE ,TIP ,HERE>
|
||||
<TELL " runs up and">)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
" gives you a " D ,UNIVERSAL-TOOL " and says, \"Here, " FN>
|
||||
<COND (<FSET? ,CENTER-OF-DOME ,TOUCHBIT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
", open the cylinder with this! It'll fit anything!\"" CR>)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
", maybe you can use this somehow.\"" CR>)>)>
|
||||
<RTRUE>)
|
||||
(<==? 17 ,DOME-AIR-BAD?>
|
||||
@@ -564,7 +566,7 @@ At this desperate moment, ">
|
||||
<REMOVE ,SPECIAL-TOOL-GLOBAL>
|
||||
<FIX-AIR-SUPPLY>
|
||||
<SETG HORVAK-FIXED-AIR T>
|
||||
%<XTELL
|
||||
<TELL
|
||||
". He's clutching an oddly-shaped gadget.|
|
||||
">
|
||||
<TIP-SAYS>
|
||||
@@ -582,7 +584,7 @@ D ,ACCESS-PLATE ". ">)>
|
||||
fallen out of its socket. Horvak">
|
||||
<COND (<NOT <IN? ,ELECTROLYTE-RELAY ,HORVAK>>
|
||||
<TELL " takes it and">)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
" screws it back in place; and within seconds, a fresh supply of oxygen
|
||||
is flowing out into the " D ,AQUADOME "." CR>)
|
||||
(T
|
||||
@@ -617,7 +619,7 @@ point in continuing your mission.">
|
||||
<TELL CR
|
||||
D ,HORVAK " has just returned from the " D ,BLY-OFFICE ", where he went
|
||||
to get Bly's " D ,OXYGEN-GEAR ", but it's no longer needed." CR>)>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
D ,BLY " is sitting up and her normal color has returned. Ditto
|
||||
for Greenup and Lowell, who collapsed. All are recovering from their
|
||||
temporary lack of air." CR>
|
||||
@@ -657,9 +659,9 @@ temporary lack of air." CR>
|
||||
<MOVE ,SIEGEL ,HERE>
|
||||
<MOVE ,LOWELL ,HERE>
|
||||
<COND (<OR ,GREENUP-ESCAPE ,GREENUP-TRAPPED>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The rest of the " D ,CREW " are with you." CR>)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
D ,BLY " and the others gather to shake your hand and wish you
|
||||
luck on your perilous mission." CR>)>)
|
||||
(<NOT ,BLY-WELCOMED>
|
||||
@@ -674,16 +676,16 @@ luck on your perilous mission." CR>)>)
|
||||
<COND (<NOT <FSET? ,CREW ,TOUCHBIT>>
|
||||
<FSET ,CREW ,TOUCHBIT>
|
||||
<ENABLE <QUEUE I-BLY-PRIVATELY 15>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You're now face-to-face with Zoe Bly and the " D ,CREW ". They are wearing
|
||||
badges which show the air quality in the " D ,AQUADOME "." CR>)
|
||||
(T
|
||||
%<XTELL "You're at the foot of the ladder. ">
|
||||
<TELL "You're at the foot of the ladder. ">
|
||||
<COND (<IN? ,BLY ,FOOT-OF-RAMP>
|
||||
<TELL "Zoe Bly and t">)
|
||||
(T <TELL "T">)>
|
||||
%<XTELL "he " D ,CREW " are still here." CR>)>)
|
||||
(T %<XTELL
|
||||
<TELL "he " D ,CREW " are still here." CR>)>)
|
||||
(T <TELL
|
||||
"You're now at the foot of the ladder." CR>)>)
|
||||
(<AND <==? .ARG ,M-END>
|
||||
<==? ,EXCLAM-DOME-AIR-BAD ,DOME-AIR-BAD?>
|
||||
@@ -697,7 +699,7 @@ badges which show the air quality in the " D ,AQUADOME "." CR>)
|
||||
<COND (<NOT ,BADGES-RED-SAID?>
|
||||
<SETG BADGES-RED-SAID? T>
|
||||
<COND (.SHOUT? <TELL "Someone shouts, ">)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Our badges are turning red! The air's bad! Everyone use your "
|
||||
D ,OXYGEN-GEAR "!\"" CR>)>>
|
||||
|
||||
@@ -829,7 +831,7 @@ bunk and locker. In the center of the room are a table and chairs." CR>>
|
||||
|
||||
<ROUTINE HORVAK-LOCKER-F ()
|
||||
<COND (<AND <VERB? LOOK-INSIDE> <FSET? ,HORVAK-LOCKER ,OPENBIT>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The locker contains mostly clothing, toilet articles and books.">
|
||||
<COND (<IN? ,DIARY ,HORVAK-LOCKER>
|
||||
<TELL " One of the books is labeled DIARY.">
|
||||
@@ -843,7 +845,7 @@ bunk and locker. In the center of the room are a table and chairs." CR>>
|
||||
(<AND <FSET? ,HORVAK-LOCKER ,LOCKED>
|
||||
<NOT <IOBJ? UNIVERSAL-TOOL>>>
|
||||
<THIS-IS-IT ,HORVAK-KEY>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"It's locked. The normal way to open its lock (which you yourself designed, " FN ") is with a key." CR>
|
||||
<RTRUE>)>
|
||||
<FCLEAR ,HORVAK-LOCKER ,LOCKED>
|
||||
@@ -864,14 +866,14 @@ bunk and locker. In the center of the room are a table and chairs." CR>>
|
||||
<COND (<OR <AND <IOBJ? HORVAK> <VERB? TAKE>>
|
||||
<AND <DOBJ? HORVAK> <VERB? ASK-FOR SEARCH-FOR>>>
|
||||
<COND (<==? ,WINNER ,PLAYER>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Be warned, " FN ", that he will never willingly surrender it.
|
||||
You have no right to demand it without a search warrant.
|
||||
The " D ,AQUADOME " is neither a military establishment
|
||||
nor a ship at sea, so you could get in legal trouble." CR>)
|
||||
(T
|
||||
<HE-SHE-IT ,WINNER T "refuse">
|
||||
%<XTELL
|
||||
<TELL
|
||||
", " FN ". Do not pursue this any further, or you will lose the
|
||||
respect and cooperation of the " D ,CREW ", and thereby abort your rescue
|
||||
mission. If you attempt to use force, they may even mutiny and place you
|
||||
@@ -891,12 +893,12 @@ under arrest." CR>)>)>>
|
||||
;<ENABLE <QUEUE I-TIP-SONAR-PLAN -1>>
|
||||
<FSET ,DIARY ,OPENBIT>
|
||||
<MOVE ,PHOTO ,HERE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"As you do so, a picture falls out. Oh, oh! It's a snapshot of Zoe Bly!" CR>)
|
||||
(<VERB? READ LOOK-INSIDE>
|
||||
<COND (<NOT <FSET? ,DIARY ,OPENBIT>>
|
||||
%<XTELL "You must open it first." CR>)
|
||||
(T %<XTELL
|
||||
<TELL "You must open it first." CR>)
|
||||
(T <TELL
|
||||
"You quickly discover references to Zoe Bly. It seems clear that "
|
||||
D ,HORVAK " has fallen for Zoe. But her unsentimental manner is a
|
||||
large obstacle.|
|
||||
@@ -911,7 +913,7 @@ only a human being, but a warm, desirable woman...!\"|
|
||||
">
|
||||
<COND (<FSET? ,SPECIAL-TOOL ,TOUCHBIT> ;,DOME-AIR-CRIME
|
||||
<TELL "|
|
||||
Well! Sounds as if " D ,HORVAK " found the answer to his problem
|
||||
Well! It sounds as if " D ,HORVAK " found the answer to his problem
|
||||
by sabotaging the " D ,AIR-SUPPLY-SYSTEM " -- at a time when " D ,BLY
|
||||
" was breaking regulations by not wearing her " D ,OXYGEN-GEAR
|
||||
"!" CR>)>
|
||||
@@ -988,7 +990,7 @@ It contains assorted hand tools, machine tools, and spare parts." CR>)>>
|
||||
|
||||
<ROUTINE WORKSHOP-STUFF-F ()
|
||||
<COND (<VERB? MAKE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"That's too difficult, even for a famous young inventor." CR>)>>
|
||||
|
||||
<OBJECT DOME-LAB-DOOR
|
||||
@@ -1034,26 +1036,26 @@ research. ">
|
||||
<FSET? ,HORVAK ,BUSYBIT>>
|
||||
<RTRUE>)>
|
||||
<SETG HORVAK-TOLD-AH T>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
D ,HORVAK " says:|
|
||||
\"" FN ", right after the Snark ceased
|
||||
its attack, I detected a high concentration of AH molecules in the
|
||||
its attack, I detected a high concentration of A.H. molecules in the
|
||||
" D ,GLOBAL-WATER " around the " D ,AQUADOME ". Have you ever heard of such a
|
||||
phenomenon before?\"">
|
||||
<COND (<NOT <YES?>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"I can make up an intense tranquilizer to subdue the " D ,SNARK ",\" "
|
||||
D ,HORVAK " continues. \"You could use one of our aquatic dart
|
||||
guns to inject it into the creature. You could mount the gun
|
||||
on one of the " D ,SUB "'s " D ,CLAW "s.|
|
||||
But without knowing the creature's biochemistry, there's no guarantee the
|
||||
'trank' will work. Shall I go ahead and make some up, anyhow?\"">
|
||||
<YES?>)>
|
||||
<SET MAGLOC <YES?>>)>
|
||||
<SET MAGLOC <META-LOC ,MAGAZINE>>
|
||||
<COND (<NOT <IN-DOME? .MAGLOC>> <RTRUE>)>
|
||||
<TIP-SAYS>
|
||||
%<XTELL
|
||||
"Wait a minute! Wasn't there something about AH
|
||||
<TELL
|
||||
"Wait a minute! Wasn't there something about A.H.
|
||||
molecules in that " D ,MAGAZINE "? Shall ">
|
||||
<COND (<EQUAL? .MAGLOC ,HERE>
|
||||
<TELL "we">)
|
||||
@@ -1066,8 +1068,8 @@ molecules in that " D ,MAGAZINE "? Shall ">
|
||||
<MOVE ,MAGAZINE ,PLAYER>
|
||||
<TELL "Tip ">
|
||||
<COND (<NOT <EQUAL? .MAGLOC ,HERE>>
|
||||
%<XTELL "returns quickly and ">)>
|
||||
<TELL "hands you the magazine. ">)>
|
||||
<TELL "returns quickly and ">)>
|
||||
<TELL "hands you the " D ,MAGAZINE ". ">)>
|
||||
<THIS-IS-IT ,HORVAK>
|
||||
<TELL
|
||||
D ,HORVAK " looks interested. \"I'd like to see that.\"" CR>)>
|
||||
@@ -1128,7 +1130,7 @@ detecting objects in the " D ,GLOBAL-WATER " around the dome." CR>)>>
|
||||
(DESC "Aquadome sonar equipment")
|
||||
(ADJECTIVE AQUADOME SONAR)
|
||||
(SYNONYM SONAR SYSTEM EQUIPM SCREEN ;TRANSDUCER)
|
||||
(FLAGS SURFACEBIT ;CONTBIT OPENBIT ONBIT ;ON?BIT VOWELBIT NDESCBIT NARTICLEBIT)
|
||||
(FLAGS SURFACEBIT OPENBIT ONBIT ;ON?BIT VOWELBIT NDESCBIT NARTICLEBIT)
|
||||
(CAPACITY 19)
|
||||
(ACTION SONAR-EQUIPMENT-F)>
|
||||
|
||||
@@ -1236,20 +1238,20 @@ and a good view of the ocean through the " D ,WINDOW "." CR>)
|
||||
<NOT ,GREENUP-CUFFED>
|
||||
<NOT ,ZOE-MENTIONED-EVIDENCE>>
|
||||
<FCLEAR ,BLY ,NDESCBIT>
|
||||
%<XTELL "As you enter the office, ">
|
||||
<TELL "As you enter the office, ">
|
||||
<ZOE-MENTIONS-EVIDENCE>)
|
||||
(<AND ,GREENUP-ESCAPE <NOT <IN? ,BLY ,BLY-OFFICE>>>
|
||||
<MOVE ,BLY ,BLY-OFFICE>
|
||||
%<XTELL "Zoe comes with you." CR>)>)
|
||||
<TELL "Zoe comes with you." CR>)>)
|
||||
(<AND <==? .ARG ,M-BEG> <EXIT-VERB?>>
|
||||
<COND (,GREENUP-ESCAPE
|
||||
<HE-SHE-IT ,WINNER T>
|
||||
%<XTELL "'d better stay here and trap Greenup." CR>)
|
||||
<TELL "'d better stay here and trap Greenup." CR>)
|
||||
(<AND <FSET? ,SPECIAL-TOOL ,INVISIBLE> <==? ,WINNER ,PLAYER>>
|
||||
<TELL "As you start to leave, you notice">
|
||||
<TELL "As you start to leave, you notice ">
|
||||
<SPECIAL-TOOL-VISIBLE>)>)
|
||||
(<AND <VERB? SEARCH SEARCH-FOR> <FSET? ,SPECIAL-TOOL ,INVISIBLE>>
|
||||
<TELL "You find">
|
||||
<TELL "You find ">
|
||||
<SPECIAL-TOOL-VISIBLE>)>>
|
||||
|
||||
<ROUTINE SPECIAL-TOOL-VISIBLE ()
|
||||
@@ -1257,8 +1259,8 @@ and a good view of the ocean through the " D ,WINDOW "." CR>)
|
||||
<FSET ,SPECIAL-TOOL ,TOUCHBIT>
|
||||
<REMOVE ,SPECIAL-TOOL-GLOBAL>
|
||||
<THIS-IS-IT ,SPECIAL-TOOL>
|
||||
%<XTELL
|
||||
" an oddly shaped metallic object lying under Zoe's desk. It must
|
||||
<TELL
|
||||
"an oddly shaped metallic object lying under Zoe's desk. It must
|
||||
be the " D ,SPECIAL-TOOL "!" CR>>
|
||||
|
||||
<ROUTINE ZOE-MENTIONS-EVIDENCE ()
|
||||
@@ -1272,13 +1274,13 @@ be the " D ,SPECIAL-TOOL "!" CR>>
|
||||
<COND (<FSET? ,BLY-DOOR ,OPENBIT>
|
||||
<FCLEAR ,BLY-DOOR ,OPENBIT>
|
||||
<TELL " closes the door and">)>
|
||||
%<XTELL " says:|
|
||||
\"There's a " D ,TRAITOR " here at the " D ,AQUADOME ", " FN "!">
|
||||
<TELL " says:|
|
||||
\"There's a " D ,TRAITOR " here at the " D ,AQUADOME ", " FN "! ">
|
||||
<COND (,DOME-AIR-CRIME
|
||||
%<XTELL
|
||||
" I'm not saying that just because the " D ,AIR-SUPPLY-SYSTEM
|
||||
" had been sabotaged.">)>
|
||||
<TELL " I discovered "
|
||||
<TELL
|
||||
"I'm not saying that just because the " D ,AIR-SUPPLY-SYSTEM
|
||||
" was sabotaged. ">)>
|
||||
<TELL "I discovered "
|
||||
<COND (,DOME-AIR-CRIME "other ") (T "the ")>
|
||||
D ,EVIDENCE " after we talked on the " D ,VIDEOPHONE
|
||||
"!\"" CR>>
|
||||
@@ -1296,7 +1298,7 @@ be the " D ,SPECIAL-TOOL "!" CR>>
|
||||
<ROUTINE BLY-DESK-F ()
|
||||
<COND (<VERB? LOOK-UNDER>
|
||||
<COND (<NOT <FSET? ,SPECIAL-TOOL ,TOUCHBIT>>
|
||||
<TELL "There's">
|
||||
<TELL "There's ">
|
||||
<SPECIAL-TOOL-VISIBLE>
|
||||
;<RFALSE>)>)>>
|
||||
|
||||
@@ -1315,13 +1317,13 @@ be the " D ,SPECIAL-TOOL "!" CR>>
|
||||
<COND (<VERB? EXAMINE LOOK-INSIDE>
|
||||
<COND (<FSET? ,BLACK-BOX ,OPENBIT>
|
||||
<SETG BLACK-BOX-EXAMINED T>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"After a brief study of the " D ,BLACK-CIRCUITRY
|
||||
", you deduce its purpose: it was
|
||||
designed to change the sonar output so the ultrasonic pulses make a more
|
||||
complex pattern (for example BURPETY-BURP-B'DURP) instead of just a simple,
|
||||
complex pattern (for example BURPETY BURP B'DURP) instead of just a simple,
|
||||
clear-cut BURP. This would also make fuzzier blips." CR>)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
"You'll need a suitable tool to open its cover." CR>)>)
|
||||
(<VERB? OPEN OPEN-WITH>
|
||||
<COND (<FSET? ,BLACK-BOX ,OPENBIT>
|
||||
@@ -1357,13 +1359,13 @@ clear-cut BURP. This would also make fuzzier blips." CR>)
|
||||
<COND (,GREENUP-ESCAPE
|
||||
<ENABLE <QUEUE I-GREENUP-ESCAPE -1>>
|
||||
<COND (<EQUAL? ,GREENUP-ESCAPE 1>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The monitor screen shows Greenup's head just coming into view
|
||||
above the top of the " D ,AIRLOCK
|
||||
"'s west wall, as he climbs the outside ladder.|
|
||||
">
|
||||
<COND (<NOT <FSET? ,AIRLOCK-ROOF ,OPENBIT>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"But since the " D ,AIRLOCK-ROOF " is closed,
|
||||
Greenup can't get into the " D ,SUB " to escape. ">
|
||||
<GREENUP-CUFF>
|
||||
@@ -1372,7 +1374,7 @@ Greenup can't get into the " D ,SUB " to escape. ">
|
||||
"Once he reaches the top of this wall, he will come down the inside
|
||||
ladder to the " D ,SUB "." CR>)>)
|
||||
(T <RTRUE> ;"output from I-GREENUP-ESCAPE")>)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
D ,BLY " uses this monitor to check on activities in the " D ,AQUADOME "."
|
||||
CR>)>)>>
|
||||
|
||||
@@ -1391,7 +1393,7 @@ CR>)>)>>
|
||||
(<VERB? LAMP-OFF>
|
||||
<COND (<AND ,GREENUP-ESCAPE ;<G? 5 ,GREENUP-ESCAPE>>
|
||||
<FCLEAR ,AIRLOCK-ELECTRICITY ,ONBIT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Very good, " FN "! With the " D ,AIRLOCK-ELECTRICITY " off, the " D
|
||||
,AIRLOCK-HATCH " won't respond to command signals from the " D ,SUB "
|
||||
and will remain closed.|
|
||||
@@ -1412,7 +1414,7 @@ and will remain closed.|
|
||||
<PERFORM ,V?LAMP-OFF ,AIRLOCK-ELECTRICITY>
|
||||
<RTRUE>)
|
||||
(<VERB? ANALYZE EXAMINE READ>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"MAIN OPERATING CONTROLS:|
|
||||
">
|
||||
<FIXED-FONT-ON>
|
||||
@@ -1480,7 +1482,7 @@ want to find something, you'll have to search for it." CR>>
|
||||
<NOT-HERE ,ESCAPE-POD-UNIT>)
|
||||
(<IN? ,ESCAPE-POD-UNIT ,SUB>
|
||||
<COND (<VERB? ANALYZE EXAMINE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"A brief inspection under your seat leads to a horrifying discovery! A
|
||||
body-heat sensor was substituted for the electronic monitor, and a wire
|
||||
leads from the sensor to ">
|
||||
@@ -1571,7 +1573,7 @@ But is this output good, breathable oxygen?" CR>)>)>>
|
||||
<OBJECT AIR-SUPPLY-SYSTEM-GLOBAL
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "Air Supply System")
|
||||
(ADJECTIVE AIR OXYGEN SUPPLY)
|
||||
(ADJECTIVE AIR OXYGEN SUPPLY AQUADOME DOME STATION)
|
||||
(SYNONYM SUPPLY SYSTEM CYLINDER HOUSING)
|
||||
(FLAGS VOWELBIT)
|
||||
(ACTION AIR-SUPPLY-SYSTEM-F)>
|
||||
@@ -1579,7 +1581,7 @@ But is this output good, breathable oxygen?" CR>)>)>>
|
||||
<OBJECT AIR-SUPPLY-SYSTEM
|
||||
(IN CENTER-OF-DOME)
|
||||
(DESC "Air Supply System")
|
||||
(ADJECTIVE AIR OXYGEN SUPPLY)
|
||||
(ADJECTIVE AIR OXYGEN SUPPLY AQUADOME DOME STATION)
|
||||
(SYNONYM SUPPLY SYSTEM CYLINDER SIGN ;HOUSING)
|
||||
(FLAGS NDESCBIT VOWELBIT CONTBIT ;SEARCHBIT MUNGBIT READBIT)
|
||||
(CAPACITY 9)
|
||||
@@ -1598,16 +1600,14 @@ But is this output good, breathable oxygen?" CR>)>)>>
|
||||
Something has been unscrewed from this space!" CR>
|
||||
<COND(<IN? ,ELECTROLYTE-RELAY ,AIR-SUPPLY-SYSTEM>
|
||||
<THIS-IS-IT ,ELECTROLYTE-RELAY>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Something is lying at the base of the cylinder, just inside the
|
||||
housing." CR>)>)
|
||||
(T <TELL
|
||||
"There's a lot of complicated machinery inside." CR>)>)
|
||||
(T <TELL
|
||||
"The first thing you notice is a stenciled sign saying: \"To repair "
|
||||
D ,AIR-SUPPLY-SYSTEM ", first open " D ,ACCESS-PLATE " with "
|
||||
D ,SPECIAL-TOOL " hanging on hook at right.\" An arrow points to this
|
||||
hook." CR>)>)
|
||||
"The first thing you notice is a stenciled sign saying: ">
|
||||
<READ-AIR-SUPPLY>)>)
|
||||
(T <TOO-FAR-AWAY ,AIR-SUPPLY-SYSTEM>)>)
|
||||
(<VERB? FIND WALK-TO>
|
||||
<COND (<DOBJ? AIR-SUPPLY-SYSTEM-GLOBAL>
|
||||
@@ -1625,6 +1625,12 @@ CR>)
|
||||
"May we suggest that the best way to find out about the system is to
|
||||
examine it." CR>)>>
|
||||
|
||||
<ROUTINE READ-AIR-SUPPLY ()
|
||||
<TELL
|
||||
"\"To repair " D ,AIR-SUPPLY-SYSTEM ", first open " D ,ACCESS-PLATE "
|
||||
with " D ,SPECIAL-TOOL " hanging on hook at right.\" An arrow points to
|
||||
this hook." CR>>
|
||||
|
||||
<ROUTINE AIR-SUPPLY-VERB? ()
|
||||
<COND (<VERB? GIVE FIND TAKE YELL-FOR>
|
||||
<COND (<DOBJ? UNIVERSAL-TOOL SPECIAL-TOOL SPECIAL-TOOL-GLOBAL
|
||||
@@ -1645,20 +1651,22 @@ examine it." CR>)>>
|
||||
(ACTION ACCESS-PLATE-F)>
|
||||
|
||||
<ROUTINE ACCESS-PLATE-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
<COND (<VERB? READ>
|
||||
<READ-AIR-SUPPLY>)
|
||||
(<VERB? EXAMINE ANALYZE>
|
||||
<COND (<FSET? ,ACCESS-PLATE ,OPENBIT> <TELL "It's open." CR>)
|
||||
(T
|
||||
<TELL
|
||||
"It's held in place on the cylinder by curiously-shaped fram bolts, which
|
||||
no ordinary wrench will fit.">
|
||||
<COND (<NOT <FSET ,AIR-SUPPLY-SYSTEM ,TOUCHBIT>>
|
||||
<COND (<NOT <FSET? ,AIR-SUPPLY-SYSTEM ,TOUCHBIT>>
|
||||
<TELL
|
||||
" To open it, you need a " D ,SPECIAL-TOOL ", or something like it." CR>)>
|
||||
<RTRUE>)>)
|
||||
(<VERB? LOOK-INSIDE>
|
||||
<PERFORM ,PRSA ,AIR-SUPPLY-SYSTEM ,PRSI>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? CLOSE>>
|
||||
(<VERB? CLOSE>
|
||||
<COND (<FSET? ,ACCESS-PLATE ,OPENBIT>
|
||||
<FCLEAR ,ACCESS-PLATE ,OPENBIT>
|
||||
<OKAY ,AIR-SUPPLY-SYSTEM "closed">)
|
||||
@@ -1678,7 +1686,7 @@ no ordinary wrench will fit.">
|
||||
<COND (<FSET? ,ACCESS-PLATE ,OPENBIT>
|
||||
<ALREADY ,ACCESS-PLATE "open">)
|
||||
(<IOBJ? SPECIAL-TOOL-GLOBAL> <NOT-HERE ,PRSI> <RTRUE>)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
"You can't remove" THE-PRSO " with your bare hands!" CR>)>)>>
|
||||
|
||||
<OBJECT HOOK
|
||||
@@ -1692,14 +1700,14 @@ no ordinary wrench will fit.">
|
||||
<ROUTINE HOOK-F ()
|
||||
<COND (<NOT <FIRST? ,HOOK>>
|
||||
<COND (<VERB? EXAMINE LOOK-ON>
|
||||
%<XTELL "There's nothing hanging on the " D ,HOOK "." CR>)
|
||||
<TELL "There's nothing hanging on the " D ,HOOK "." CR>)
|
||||
(<VERB? PUT>
|
||||
<COND (<DOBJ? SPECIAL-TOOL ;UNIVERSAL-TOOL>
|
||||
<MOVE ,PRSO ,HOOK>
|
||||
<TELL "Okay." CR>)
|
||||
(T <TELL "It won't fit on the " D ,HOOK "." CR>)>)>)
|
||||
(<VERB? EXAMINE LOOK-ON>
|
||||
%<XTELL "There's " A ,SPECIAL-TOOL " hanging on the " D ,HOOK"."CR>)>>
|
||||
<TELL "There's " A ,SPECIAL-TOOL " hanging on the " D ,HOOK"."CR>)>>
|
||||
|
||||
<OBJECT ARROW
|
||||
(IN CENTER-OF-DOME)
|
||||
@@ -1709,7 +1717,7 @@ no ordinary wrench will fit.">
|
||||
(ACTION ARROW-F)>
|
||||
|
||||
<ROUTINE ARROW-F ()
|
||||
<COND (<VERB? FOLLOW> <TELL "It points to the hook." CR>)>>
|
||||
<COND (<VERB? FOLLOW EXAMINE ANALYZE> <TELL "It points to the hook." CR>)>>
|
||||
|
||||
<OBJECT SPECIAL-TOOL-GLOBAL
|
||||
(DESC "special Fram Bolt Wrench")
|
||||
@@ -1737,7 +1745,7 @@ no ordinary wrench will fit.">
|
||||
<ROUTINE ELECTROLYTE-RELAY-F ()
|
||||
<COND (<VERB? TAKE>
|
||||
<COND (<NOT <FSET? ,PRSO ,TAKEBIT>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"What!? You don't want to spoil the " D ,AIR-SUPPLY-SYSTEM " again!" CR>)>)
|
||||
(<REMOTE-VERB?> <RFALSE>)
|
||||
(<NOT-HOLDING? ,ELECTROLYTE-RELAY>
|
||||
@@ -1749,7 +1757,7 @@ no ordinary wrench will fit.">
|
||||
"It looks as if the " D ,ELECTROLYTE-RELAY " fits perfectly into the "
|
||||
D ,EMPTY-SPACE "." CR>)
|
||||
(<VERB? EXAMINE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"It has screw threads and, judging by its size and shape, it should
|
||||
screw very neatly into that " D ,EMPTY-SPACE " in the "
|
||||
D ,AIR-SUPPLY-SYSTEM " assembly." CR>)
|
||||
@@ -1759,8 +1767,7 @@ D ,AIR-SUPPLY-SYSTEM " assembly." CR>)
|
||||
<TOO-BAD-BUT ,ACCESS-PLATE "closed">
|
||||
<RTRUE>)>
|
||||
<FIX-AIR-SUPPLY>
|
||||
%<XTELL
|
||||
"It fits!" ;" (And, by the way, congratulations, ' FN '!)" CR>
|
||||
<TELL "It fits!" CR>
|
||||
<SCORE-OBJ ,ACCESS-PLATE>
|
||||
<RTRUE>)>>
|
||||
|
||||
@@ -1788,7 +1795,7 @@ D ,AIR-SUPPLY-SYSTEM " assembly." CR>)
|
||||
"Sorry, but" THE-PRSO " won't stay unless you screw it in." CR>)>>
|
||||
|
||||
<GLOBAL IN-DOME-AROUND
|
||||
<LTABLE FOOT-OF-RAMP OUTSIDE-ADMIN-BLDG OUTSIDE-COMM-BLDG OUTSIDE-WORKSHOP
|
||||
<PLTABLE FOOT-OF-RAMP OUTSIDE-ADMIN-BLDG OUTSIDE-COMM-BLDG OUTSIDE-WORKSHOP
|
||||
OUTSIDE-DORM FOOT-OF-RAMP ;"preceding for WALK AROUND DOME"
|
||||
AIRLOCK AIRLOCK-WALL CENTER-OF-DOME BLY-OFFICE DOME-STORAGE
|
||||
COMM-BLDG GALLEY WORKSHOP DOME-LAB WOMENS-QUARTERS MENS-QUARTERS>>
|
||||
|
||||
97
events.mss
Normal file
97
events.mss
Normal file
@@ -0,0 +1,97 @@
|
||||
@style (spacing 1)
|
||||
@title (Events in the Aquadome)
|
||||
@pageheading(DRAFT)
|
||||
@majorheading (EVENTS IN THE AQUADOME)
|
||||
|
||||
Events in the Aquadome fall into several sequences.
|
||||
The program can step through several sequences concurrently.
|
||||
For convenience, let's call
|
||||
them by letters, and let's call the beginning of each sequence "turn zero."
|
||||
|
||||
Note: "he" never refers to Player, since Player's gender is unpredictable.
|
||||
@heading (A. The air supply)
|
||||
This sequence stops if and when Player fixes the air supply.
|
||||
@begin (itemize)
|
||||
0. Player debarks from the @I(Scimitar).
|
||||
|
||||
11. Player realizes that Zoe (or Tip, if Zoe is not visible) is having trouble
|
||||
breathing.
|
||||
(If Player asks Bly about the "private matter" before this turn,
|
||||
then Antrim explodes angrily, and this sequence begins at this turn.)
|
||||
|
||||
17. First reminder appears on screen, giving 10-turn deadline.
|
||||
|
||||
23. Second reminder appears, giving 4-turn deadline, and Tip offers Player
|
||||
Universal Tool if he hasn't before now.
|
||||
|
||||
27. At the last moment, Doc Horvak runs up and saves the day.
|
||||
|
||||
30. Zoe Bly asks Player for a private talk, and then again every 3 turns
|
||||
until Player agrees.
|
||||
@end (itemize)
|
||||
@heading (P. Bly's private matter)
|
||||
Zoe has perhaps already mentioned a "private matter" over the
|
||||
sonarphone while Player was in the @I(Scimitar).
|
||||
@begin (itemize)
|
||||
0. Player enters Reception Area for first time.
|
||||
|
||||
15. If Player hasn't asked her about the private matter, she asks Player
|
||||
directly, both now and every 3 turns after this. If Player assents or
|
||||
asks her about it directly: if the air supply hasn't been fixed, then
|
||||
Antrim explodes angrily, and sequence "A" begins at turn 11.
|
||||
|
||||
X. (The timing is unpredictable.)
|
||||
Player enters Bly's office for the private discussion. She shows Player
|
||||
the "black box" (see sequence "S").
|
||||
|
||||
X+6. Bly reminds Player that the Snark may return and asks if she may ask
|
||||
Player some questions. If Player assents, she asks about
|
||||
the @I(Scimitar) and lists Player's options for weapons; if not, this
|
||||
"event" repeats after 3 turns.
|
||||
@end (itemize)
|
||||
@heading (S. Siegel's work on sonar)
|
||||
This sequence begins when Bly shows Player the "black box." The next time
|
||||
Player and Tip are alone, he says he has an idea for testing Marv.
|
||||
(He also reminds Player, if necessary, to look in the black box.)
|
||||
@begin (itemize)
|
||||
0. Player asks Siegel directly to check the sonar.
|
||||
Or Player asks Bly to give Siegel a job, and Player assents
|
||||
to a job in the communications bldg.
|
||||
|
||||
4. Siegel reports back to Player about black box.
|
||||
|
||||
5. Tip asks to speak to Player privately: if Player refuses, Tip asks
|
||||
again every 3 turns; if Player assents, Tip suggests testing Antrim
|
||||
(see sequence "O").
|
||||
@end (itemize)
|
||||
@heading (O. Mick Antrim's work on overheating in sub)
|
||||
@begin (itemize)
|
||||
0. Player asks Antrim to check sub.
|
||||
Even if Player doesn't ask him, Antrim goes off to
|
||||
check it, 10 turns after the air supply is fixed
|
||||
(sequence "A").
|
||||
|
||||
9. Antrim reports back to Player if the voltage regulator is still broken.
|
||||
|
||||
19. Antrim reports back to Player if Player already fixed the problem.
|
||||
|
||||
At end of Antrim's report, he suggests installing Emergency Survival Units.
|
||||
If Player agrees, Greenup & Lowell report back 12 turns later.
|
||||
@end (itemize)
|
||||
@heading (G. Greenup's attempted escape)
|
||||
Greenup starts to escape when Player tries to arrest him.
|
||||
However, the timing doesn't begin until:
|
||||
@begin (itemize)
|
||||
0. Player looks at the video monitor in Bly's office.
|
||||
Greenup's head is just coming into view.
|
||||
If Player closes the airlock roof, the escape is foiled.
|
||||
|
||||
1. Greenup is climbing into the airlock.
|
||||
If Player opens the airlock hatch, the escape is foiled.
|
||||
|
||||
2. Greenup is scrambling aboard the sub.
|
||||
If Player cuts electricity, the escape is foiled.
|
||||
|
||||
3. If Player opened the airlock hatch and didn't close it, then
|
||||
the Aquadome itself is flooded and the game's over.
|
||||
@end (itemize)
|
||||
140
events.zap
140
events.zap
@@ -12,7 +12,7 @@
|
||||
CALL BAD-AIR?
|
||||
ZERO? STACK \FALSE
|
||||
FSET? X,BUSYBIT \?ELS7
|
||||
CALL TOO-BAD-BUT,X,STR?203
|
||||
CALL TOO-BAD-BUT,X,STR?195
|
||||
RFALSE
|
||||
?ELS7: ZERO? SNARK-ATTACK-COUNT /TRUE
|
||||
CALL DONT-KNOW,X,OBJ
|
||||
@@ -82,20 +82,6 @@
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DIR-FROM,HERE,THERE,P=0,L,T,O
|
||||
?PRG1: NEXTP HERE,P >P
|
||||
ZERO? P /FALSE
|
||||
EQUAL? P,P?IN,P?OUT \?ELS7
|
||||
JUMP ?PRG1
|
||||
?ELS7: LESS? P,LOW-DIRECTION /?PRG1
|
||||
GETPT HERE,P >T
|
||||
PTSIZE T >L
|
||||
EQUAL? L,DEXIT,UEXIT,CEXIT \?PRG1
|
||||
GETB T,REXIT
|
||||
EQUAL? STACK,THERE \?PRG1
|
||||
RETURN P
|
||||
|
||||
|
||||
.FUNCT I-SHARON-GONE,L
|
||||
ZERO? MONSTER-GONE \?CND1
|
||||
CALL QUEUE,I-SHARON-GONE,4
|
||||
@@ -167,10 +153,10 @@ Suddenly Sharon "
|
||||
FCLEAR VIDEOPHONE,ONBIT
|
||||
FSET VIDEOPHONE,MUNGBIT
|
||||
CALL PHONE-OFF
|
||||
SET 'SHARON-BROKE-CIRCUIT,1
|
||||
SET 'SHARON-BROKE-CIRCUIT,TRUE-VALUE
|
||||
FSET CIRCUIT-BREAKER,MUNGBIT
|
||||
FSET CIRCUIT-BREAKER,OPENBIT
|
||||
SET 'MONSTER-GONE,1
|
||||
SET 'MONSTER-GONE,TRUE-VALUE
|
||||
CALL IN-LAB?,HERE
|
||||
ZERO? STACK /?CND16
|
||||
CRLF
|
||||
@@ -209,39 +195,40 @@ Suddenly Sharon "
|
||||
|
||||
|
||||
.FUNCT I-BLY-PRIVATELY
|
||||
ZERO? SNARK-ATTACK-COUNT \FALSE
|
||||
CALL READY-FOR-SNARK?
|
||||
ZERO? STACK \FALSE
|
||||
ZERO? ZOE-MENTIONED-EVIDENCE \FALSE
|
||||
CALL NOT-NOW?
|
||||
ZERO? STACK /?CND8
|
||||
SET 'BLY-PRIVATELY-DELAY,0
|
||||
ZERO? STACK /?CND11
|
||||
SET 'BLY-PRIVATELY-DELAY,FALSE-VALUE
|
||||
CALL QUEUE,I-BLY-PRIVATELY,7
|
||||
RFALSE
|
||||
?CND8: SET 'BLY-PRIVATELY-DELAY,1
|
||||
?CND11: SET 'BLY-PRIVATELY-DELAY,TRUE-VALUE
|
||||
MOVE PRIVATE-MATTER,GLOBAL-OBJECTS
|
||||
CRLF
|
||||
PRINTI "Suddenly "
|
||||
PRINTD BLY
|
||||
PRINTI " "
|
||||
CALL META-LOC,BLY
|
||||
EQUAL? STACK,HERE /?CND13
|
||||
EQUAL? STACK,HERE /?CND16
|
||||
MOVE BLY,HERE
|
||||
PRINTI "comes over and "
|
||||
?CND13: ZERO? BLY-PRIVATELY-COUNT \?ELS20
|
||||
?CND16: ZERO? BLY-PRIVATELY-COUNT \?ELS23
|
||||
PRINTI "say"
|
||||
JUMP ?CND18
|
||||
?ELS20: PRINTI "repeat"
|
||||
?CND18: PRINTI "s, """
|
||||
JUMP ?CND21
|
||||
?ELS23: PRINTI "repeat"
|
||||
?CND21: PRINTI "s, """
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", can we discuss a "
|
||||
PRINTD PRIVATE-MATTER
|
||||
PRINTI " now?"""
|
||||
INC 'BLY-PRIVATELY-COUNT
|
||||
CALL YES?
|
||||
ZERO? STACK \?CND29
|
||||
ZERO? STACK \?CND32
|
||||
CALL QUEUE,I-BLY-PRIVATELY,7
|
||||
RFALSE
|
||||
?CND29: CALL ASK-BLY-ABOUT-PRIVATE-MATTER
|
||||
?CND32: CALL ASK-BLY-ABOUT-PRIVATE-MATTER
|
||||
RTRUE
|
||||
|
||||
|
||||
@@ -253,10 +240,10 @@ Suddenly Sharon "
|
||||
ZERO? STACK \FALSE
|
||||
CALL NOT-NOW?
|
||||
ZERO? STACK /?CND1
|
||||
SET 'BLY-PRIVATELY-DELAY,0
|
||||
SET 'BLY-PRIVATELY-DELAY,FALSE-VALUE
|
||||
CALL QUEUE,I-BLY-SAYS,7
|
||||
RFALSE
|
||||
?CND1: SET 'BLY-PRIVATELY-DELAY,1
|
||||
?CND1: SET 'BLY-PRIVATELY-DELAY,TRUE-VALUE
|
||||
CALL META-LOC,BLY >L
|
||||
ZERO? ASKED? \?THN14
|
||||
EQUAL? L,BLY-OFFICE \?ELS13
|
||||
@@ -284,7 +271,7 @@ Suddenly Sharon "
|
||||
PRINTI " for attacking?"""
|
||||
CALL YES?
|
||||
ZERO? STACK /?CND34
|
||||
CALL TELL-HINT,73,CLAW,0
|
||||
CALL TELL-HINT,73,CLAW,FALSE-VALUE
|
||||
CALL TELL-HINT,72,DART
|
||||
EQUAL? HERE,DOME-LAB /?CND39
|
||||
PRINTI "
|
||||
@@ -323,21 +310,22 @@ Suddenly Sharon "
|
||||
FSET? TIP,BUSYBIT \?ELS3
|
||||
CALL QUEUE,I-TIP-SONAR-PLAN,3
|
||||
RFALSE
|
||||
?ELS3: CALL READY-FOR-SNARK?
|
||||
?ELS3: ZERO? SNARK-ATTACK-COUNT \?THN6
|
||||
CALL READY-FOR-SNARK?
|
||||
ZERO? STACK /?CND1
|
||||
CALL QUEUE,I-TIP-SONAR-PLAN,0
|
||||
?THN6: CALL QUEUE,I-TIP-SONAR-PLAN,0
|
||||
RFALSE
|
||||
?CND1: CALL FIND-FLAG,HERE,PERSON,PLAYER >P
|
||||
ZERO? P \?ELS10
|
||||
ZERO? P \?ELS12
|
||||
CALL TIP-COMES
|
||||
RSTACK
|
||||
?ELS10: EQUAL? P,TIP \?ELS12
|
||||
?ELS12: EQUAL? P,TIP \?ELS14
|
||||
REMOVE PLAYER
|
||||
CALL FIND-FLAG,HERE,PERSON,TIP >P
|
||||
MOVE PLAYER,HERE
|
||||
CALL TIP-COMES,P
|
||||
RSTACK
|
||||
?ELS12: CALL TIP-COMES,1
|
||||
?ELS14: CALL TIP-COMES,TRUE-VALUE
|
||||
RSTACK
|
||||
|
||||
|
||||
@@ -373,7 +361,7 @@ Suddenly Sharon "
|
||||
SUB 0,ALMOST
|
||||
MOD STACK,7
|
||||
EQUAL? STACK,2 \FALSE
|
||||
?THN20: CALL TIP-SAYS,1
|
||||
?THN20: CALL TIP-SAYS,TRUE-VALUE
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", I'd like to talk with you alone."""
|
||||
CRLF
|
||||
@@ -385,7 +373,7 @@ Suddenly Sharon "
|
||||
ZERO? BLACK-BOX-EXAMINED \?CND29
|
||||
CALL TELL-HINT,11,BLACK-BOX
|
||||
?CND29: MOVE TIP,HERE
|
||||
CALL TIP-SAYS,1
|
||||
CALL TIP-SAYS,TRUE-VALUE
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", did "
|
||||
PRINTD BLY
|
||||
@@ -476,7 +464,7 @@ Suddenly Sharon "
|
||||
PRINTI " on the "
|
||||
PRINTD SONAR-EQUIPMENT
|
||||
PRINTR " again!"""
|
||||
?ELS31: SET 'SIEGEL-TESTED,1
|
||||
?ELS31: SET 'SIEGEL-TESTED,TRUE-VALUE
|
||||
PRINTI " what I found attached to the "
|
||||
PRINTD SONAR-EQUIPMENT
|
||||
PRINTI ", "
|
||||
@@ -526,7 +514,9 @@ Tip snaps his fingers and says: """
|
||||
RFALSE
|
||||
?CND10: PRINTI """The Snark could be a synthetic monster created by "
|
||||
PRINTD THORPE
|
||||
PRINTI "!"" he says when you're alone. ""I read about them in that magazine. If I'm right, whoever attached the "
|
||||
PRINTI "!"" he says when you're alone. ""I read about them in that "
|
||||
PRINTD MAGAZINE
|
||||
PRINTI ". If I'm right, whoever attached the "
|
||||
PRINTD BLACK-BOX
|
||||
PRINTI " to the "
|
||||
PRINTD SONAR-EQUIPMENT
|
||||
@@ -542,7 +532,7 @@ Tip snaps his fingers and says: """
|
||||
PRINT RECONSIDER?
|
||||
PRINTI """"
|
||||
CRLF
|
||||
?CND15: CALL MIKE-1-F,ANTRIM,1
|
||||
?CND15: CALL MIKE-1-F,ANTRIM,TRUE-VALUE
|
||||
CALL YES?
|
||||
ZERO? STACK \?ELS22
|
||||
PRINT RECONSIDER?
|
||||
@@ -558,10 +548,10 @@ Tip snaps his fingers and says: """
|
||||
PRINTI "."""
|
||||
CRLF
|
||||
IN? PRIVATE-MATTER,GLOBAL-OBJECTS \?CND39
|
||||
CALL TELL-HINT,12,OVERHEATING,0
|
||||
CALL TELL-HINT,12,OVERHEATING,FALSE-VALUE
|
||||
ZERO? REGULATOR-MSG-SEEN /?CND39
|
||||
CALL TELL-HINT,43,ANTRIM,0
|
||||
?CND39: CALL TELL-HINT,22,ANTRIM,0
|
||||
CALL TELL-HINT,43,ANTRIM,FALSE-VALUE
|
||||
?CND39: CALL TELL-HINT,22,ANTRIM,FALSE-VALUE
|
||||
RSTACK
|
||||
|
||||
|
||||
@@ -571,7 +561,7 @@ Tip snaps his fingers and says: """
|
||||
ZERO? ANTRIM-CHECKED-SUB \FALSE
|
||||
ZERO? STR /?ELS8
|
||||
JUMP ?CND1
|
||||
?ELS8: CALL NOT-NOW?,0
|
||||
?ELS8: CALL NOT-NOW?,FALSE-VALUE
|
||||
ZERO? STACK /?CND1
|
||||
CALL QUEUE,I-ANTRIM-TO-SUB,3
|
||||
RFALSE
|
||||
@@ -581,9 +571,9 @@ Tip snaps his fingers and says: """
|
||||
JUMP ?CND12
|
||||
?ELS14: CALL QUEUE,I-ANTRIM-REPORTS,19
|
||||
PUT STACK,0,1
|
||||
?CND12: SET 'ANTRIM-CHECKED-SUB,1
|
||||
?CND12: SET 'ANTRIM-CHECKED-SUB,TRUE-VALUE
|
||||
IN? BLY,HERE \?CND17
|
||||
SET 'BLY-HEARD-ANTRIM,1
|
||||
SET 'BLY-HEARD-ANTRIM,TRUE-VALUE
|
||||
?CND17: FSET ANTRIM,BUSYBIT
|
||||
ZERO? STR /?ELS22
|
||||
PRINT STR
|
||||
@@ -612,9 +602,10 @@ Suddenly "
|
||||
|
||||
|
||||
.FUNCT TIP-FLASHES
|
||||
ZERO? TIP-FLASHED /?CND1
|
||||
IN? TIP,HERE \FALSE
|
||||
ZERO? TIP-FLASHED /?CND4
|
||||
PRINTI "Once again "
|
||||
?CND1: SET 'TIP-FLASHED,1
|
||||
?CND4: SET 'TIP-FLASHED,TRUE-VALUE
|
||||
PRINTI "Tip flashes you a meaningful glance. "
|
||||
RTRUE
|
||||
|
||||
@@ -745,10 +736,11 @@ Would you like one installed, just in case? "
|
||||
?CND3: PRINTI "."""
|
||||
CRLF
|
||||
LOC SYRINGE
|
||||
EQUAL? STACK,LOWELL,GREENUP,ESCAPE-POD-UNIT \?ELS14
|
||||
SET 'X,1
|
||||
EQUAL? STACK,LOWELL,GREENUP,ESCAPE-POD-UNIT \?CND10
|
||||
SET 'X,TRUE-VALUE
|
||||
?CND10: ZERO? X /?ELS17
|
||||
LOC ESCAPE-POD-UNIT
|
||||
EQUAL? STACK,LOWELL,GREENUP,DOME-STORAGE \?ELS14
|
||||
EQUAL? STACK,LOWELL,GREENUP,DOME-STORAGE \?ELS17
|
||||
CALL SCORE-OBJ,ESCAPE-POD-UNIT
|
||||
MOVE GREENUP,SUB
|
||||
MOVE LOWELL,SUB
|
||||
@@ -760,19 +752,19 @@ Would you like one installed, just in case? "
|
||||
CALL QUEUE,I-LOWELL-REPORTS,12
|
||||
PUT STACK,0,1
|
||||
RTRUE
|
||||
?ELS14: PRINTI "But "
|
||||
?ELS17: PRINTI "But "
|
||||
CALL HE-SHE-IT,PER
|
||||
MOVE PER,HERE
|
||||
PRINTI " returns a moment later and says, ""We can't find the "
|
||||
ZERO? X /?ELS25
|
||||
ZERO? X /?ELS28
|
||||
PRINTD ESCAPE-POD-UNIT
|
||||
JUMP ?CND23
|
||||
?ELS25: PRINTD SYRINGE
|
||||
?CND23: PRINTR "."""
|
||||
JUMP ?CND26
|
||||
?ELS28: PRINTD SYRINGE
|
||||
?CND26: PRINTR "."""
|
||||
|
||||
|
||||
.FUNCT I-LOWELL-REPORTS
|
||||
CALL NOT-NOW?,0
|
||||
CALL NOT-NOW?,FALSE-VALUE
|
||||
ZERO? STACK /?CND1
|
||||
CALL QUEUE,I-LOWELL-REPORTS,3
|
||||
RFALSE
|
||||
@@ -795,7 +787,8 @@ Suddenly "
|
||||
PRINTD SUB
|
||||
JUMP ?CND6
|
||||
?ELS8: PRINTD AIRLOCK
|
||||
?CND6: PRINTI ".
|
||||
?CND6: CALL SAID-TO,LOWELL
|
||||
PRINTI ".
|
||||
""That "
|
||||
PRINTD ESCAPE-POD-UNIT
|
||||
PRINTI " is in place, "
|
||||
@@ -815,7 +808,7 @@ Suddenly "
|
||||
PRINTI " appears. ""I couldn't find anything unusual about the "
|
||||
PRINTD SYRINGE
|
||||
PRINTR "."""
|
||||
?ELS10: SET 'GREENUP-GUILT,1
|
||||
?ELS10: SET 'GREENUP-GUILT,TRUE-VALUE
|
||||
PRINTD HORVAK
|
||||
PRINTI "'s face is grim and pale as he reports the result of his analysis.
|
||||
"
|
||||
@@ -839,13 +832,13 @@ Tip turns to you with a gasp. ""Holy smoke, "
|
||||
CALL THIS-IS-IT,DART
|
||||
CALL SAID-TO,HORVAK
|
||||
PRINTI "Doc Horvak "
|
||||
CALL MOVE-HERE-NOT-SUB,HORVAK,STR?205,STR?206
|
||||
CALL MOVE-HERE-NOT-SUB,HORVAK,STR?197,STR?198
|
||||
PRINTI " holding an aquatic dart gun. "
|
||||
IN? HORVAK,HERE /?CND5
|
||||
PRINTI "He shouts from outside, "
|
||||
?CND5: PRINTI """Okay, "
|
||||
CALL PRINT-NAME,FIRST-NAME
|
||||
PRINTI ", I've made a special 'trank' to use against an AH-type organism! It's loaded in the dart gun. What shall I do with it?"""
|
||||
PRINTI ", I've made a special 'trank' to use against an A.H.-type organism! It's loaded in the dart gun. What shall I do with it?"""
|
||||
CRLF
|
||||
CALL SCORE-OBJ,DART
|
||||
RTRUE
|
||||
@@ -900,12 +893,12 @@ Tip turns to you with a gasp. ""Holy smoke, "
|
||||
PRINTD AIRLOCK-HATCH
|
||||
PRINTI " and shove off!"""
|
||||
CRLF
|
||||
CALL TELL-HINT,52,AIRLOCK-ELECTRICITY,0
|
||||
CALL TELL-HINT,52,AIRLOCK-ELECTRICITY,FALSE-VALUE
|
||||
RTRUE
|
||||
?ELS7: EQUAL? 9,GREENUP-ESCAPE \FALSE
|
||||
FCLEAR AIRLOCK-ROOF,OPENBIT
|
||||
FSET AIRLOCK-HATCH,OPENBIT
|
||||
SET 'AIRLOCK-FULL,1
|
||||
SET 'AIRLOCK-FULL,TRUE-VALUE
|
||||
CALL QUEUE,I-SNARK-ATTACKS,1
|
||||
PRINTI "
|
||||
Better not raise any false hopes. As the "
|
||||
@@ -926,11 +919,11 @@ A "
|
||||
|
||||
.FUNCT GREENUP-CUFF
|
||||
SET 'GREENUP-ESCAPE,0
|
||||
SET 'GREENUP-TRAPPED,0
|
||||
SET 'GREENUP-TRAPPED,FALSE-VALUE
|
||||
CALL QUEUE,I-GREENUP-ESCAPE,0
|
||||
MOVE GREENUP,GALLEY
|
||||
FSET GREENUP,MUNGBIT
|
||||
SET 'GREENUP-CUFFED,1
|
||||
SET 'GREENUP-CUFFED,TRUE-VALUE
|
||||
PRINTI "Knowing he's trapped, "
|
||||
PRINTD GREENUP
|
||||
PRINTI " gives up without a fight. "
|
||||
@@ -987,8 +980,8 @@ Most regrettable!"
|
||||
JUMP ?CND6
|
||||
?ELS8: MOVE TIP,HERE
|
||||
?CND6: FCLEAR TIP,BUSYBIT
|
||||
SET 'TIP-FOLLOWS-YOU?,1
|
||||
SET 'FINE-SONAR,1
|
||||
SET 'TIP-FOLLOWS-YOU?,TRUE-VALUE
|
||||
SET 'FINE-SONAR,TRUE-VALUE
|
||||
MOVE FINE-GRID,SUB
|
||||
FCLEAR FINE-GRID,TAKEBIT
|
||||
CALL TIP-SAYS
|
||||
@@ -1034,6 +1027,13 @@ Most regrettable!"
|
||||
PRINTR "!"""
|
||||
|
||||
|
||||
.FUNCT USE-FEWER-TURNS
|
||||
PRINTI "
|
||||
|
||||
(You'll probably do better if you restart and use fewer turns next time.)"
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT I-SNARK-ATTACKS
|
||||
ZERO? SNARK-ATTACK-COUNT \?CND1
|
||||
ZERO? SUB-IN-DOME \?ELS6
|
||||
@@ -1059,9 +1059,8 @@ Most regrettable!"
|
||||
PRINTD AQUADOME
|
||||
PRINTI ": the "
|
||||
PRINTD GLOBAL-SNARK
|
||||
PRINTI " is attacking and destroying it! You're too late!
|
||||
|
||||
You'll probably do better if you restart and use fewer turns next time."
|
||||
PRINTI " is attacking and destroying it! You're too late!"
|
||||
CALL USE-FEWER-TURNS
|
||||
CALL FINISH
|
||||
JUMP ?CND1
|
||||
?ELS6: CALL QUEUE,I-SNARK-ATTACKS,-1
|
||||
@@ -1128,6 +1127,7 @@ The Atlantic Ocean is pouring into the "
|
||||
PRINTI "! And your last thought, before a zillion tons of "
|
||||
PRINTD GLOBAL-WATER
|
||||
PRINTI " crushes you to jelly, is ""Oh gosh! I wonder if I shut off the Bunsen burner in the lab?"""
|
||||
CALL USE-FEWER-TURNS
|
||||
CALL FINISH
|
||||
RSTACK
|
||||
|
||||
|
||||
134
events.zil
134
events.zil
@@ -18,7 +18,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
|
||||
<ROUTINE TELL-HINT (CARDNUM OBJ "OPTIONAL" (CR? T))
|
||||
<COND (.CR? <CRLF>)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"(If you want a clue, find Infocard #" N </ .CARDNUM 10> " in your
|
||||
" D ,GAME " package. Read hidden clue #" N <MOD .CARDNUM 10> " and put
|
||||
\"" D .OBJ "\" in the blank space.)" CR>>
|
||||
@@ -61,17 +61,17 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<FCLEAR ,TIP ,TOUCHBIT>)>
|
||||
<MOVE ,TIP .RM>)>>
|
||||
|
||||
<ROUTINE DIR-FROM (HERE THERE "AUX" (P 0) L T O)
|
||||
;<ROUTINE DIR-FROM (HERE THERE "AUX" (P 0) L TBL O)
|
||||
#DECL ((HERE THERE O) OBJECT (P L) FIX)
|
||||
<REPEAT ()
|
||||
<COND (<0? <SET P <NEXTP .HERE .P>>>
|
||||
<RFALSE>)
|
||||
(<EQUAL? .P ,P?IN ,P?OUT> T)
|
||||
(<NOT <L? .P ,LOW-DIRECTION>>
|
||||
<SET T <GETPT .HERE .P>>
|
||||
<SET L <PTSIZE .T>>
|
||||
<SET TBL <GETPT .HERE .P>>
|
||||
<SET L <PTSIZE .TBL>>
|
||||
<COND (<AND <EQUAL? .L ,DEXIT ,UEXIT ,CEXIT>
|
||||
<==? <GETB .T ,REXIT> .THERE>>
|
||||
<==? <GETB .TBL ,REXIT> .THERE>>
|
||||
<RETURN .P>)>)>>>
|
||||
|
||||
<ROUTINE I-SHARON-GONE ("AUX" L)
|
||||
@@ -87,7 +87,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<SUDDENLY-SHARON .L>
|
||||
<TELL "really must go now, "FN". I'll see you later.\"" CR>
|
||||
<COND (<EQUAL? ,HERE ,OFFICE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"She leaves through the " D ,OFFICE-DOOR "." CR>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
@@ -137,7 +137,7 @@ Suddenly Sharon ">
|
||||
;<COND (,DEBUG<TELL"[circuit breaker just opened]" CR>)>
|
||||
<SETG MONSTER-GONE T>
|
||||
<COND (<IN-LAB? ,HERE>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"Something's wrong! The picture vanished from your
|
||||
" D ,VIDEOPHONE " screen, and the sound conked out!|
|
||||
">
|
||||
@@ -166,6 +166,8 @@ Suddenly Sharon ">
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE I-BLY-PRIVATELY ()
|
||||
<COND (<NOT <0? ,SNARK-ATTACK-COUNT>>
|
||||
<RFALSE>)>
|
||||
<COND (<READY-FOR-SNARK?>
|
||||
<RFALSE>)>
|
||||
<COND (,ZOE-MENTIONED-EVIDENCE
|
||||
@@ -182,7 +184,7 @@ Suddenly Sharon ">
|
||||
<TELL "comes over and ">)>
|
||||
<COND (<0? ,BLY-PRIVATELY-COUNT> <TELL "say">)
|
||||
(T <TELL "repeat">)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"s, \"" FN ", can we discuss a " D ,PRIVATE-MATTER " now?\"">
|
||||
<INC BLY-PRIVATELY-COUNT>
|
||||
<COND (<NOT <YES?>> <QUEUE I-BLY-PRIVATELY 7 ;3> <RFALSE>)>
|
||||
@@ -204,23 +206,23 @@ Suddenly Sharon ">
|
||||
<AND <EQUAL? .L ,BLY-OFFICE>
|
||||
<EQUAL? .L ,HERE>>>
|
||||
<COND (<NOT .ASKED?> <CRLF>)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"" FN ",\" says Zoe, \"we could be in danger!
|
||||
The Snark may attack again any time! Would you answer some questions?\"">
|
||||
<COND (<NOT <YES?>>
|
||||
<COND (.ASKED? <RTRUE>)
|
||||
(T <ENABLE <QUEUE I-BLY-SAYS 3>> <RFALSE>)>)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Can you use the " D ,SUB " to hunt the " D ,GLOBAL-SNARK
|
||||
", instead of waiting for it to attack?\"">
|
||||
<COND (<YES?>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Do you wish to arm the " D ,SUB " for attacking?\"">
|
||||
<COND (<YES?>
|
||||
<TELL-HINT 73 ;22 ,CLAW <>>
|
||||
<TELL-HINT 72 ;23 ,DART ;<>>
|
||||
<COND (<NOT <==? ,HERE ,DOME-LAB>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"|
|
||||
\"If you want to think it over, we should go to the " D ,DOME-LAB ". Shall we
|
||||
go now?\"">
|
||||
@@ -251,7 +253,8 @@ go now?\"">
|
||||
<COND (<FSET? ,TIP ,BUSYBIT>
|
||||
<QUEUE I-TIP-SONAR-PLAN 3>
|
||||
<RFALSE>)
|
||||
(<READY-FOR-SNARK?>
|
||||
(<OR <NOT <0? ,SNARK-ATTACK-COUNT>>
|
||||
<READY-FOR-SNARK?>>
|
||||
<QUEUE I-TIP-SONAR-PLAN 0>
|
||||
<RFALSE>)>
|
||||
<SET P <FIND-FLAG ,HERE ,PERSON ,PLAYER>>
|
||||
@@ -295,27 +298,27 @@ go now?\"">
|
||||
<COND (<NOT ,BLACK-BOX-EXAMINED> <TELL-HINT 11 ;13 ,BLACK-BOX>)>
|
||||
<MOVE ,TIP ,HERE>
|
||||
<TIP-SAYS T>
|
||||
%<XTELL
|
||||
<TELL
|
||||
FN ", did " D ,BLY " mention any troublemakers among the " D ,CREW "?\"">
|
||||
<COND (<YES?>
|
||||
<TELL
|
||||
"\"Do you suspect " D ,ANTRIM " or " D ,HORVAK " or " D ,SIEGEL "?\"">
|
||||
<COND (<YES?>
|
||||
%<XTELL "\"Marv maintains the "D ,SONAR-EQUIPMENT",\" ">
|
||||
<TELL "\"Marv maintains the "D ,SONAR-EQUIPMENT",\" ">
|
||||
<TIP-SAYS>
|
||||
<TELL
|
||||
"and we'll
|
||||
need it to warn us if the " D ,SNARK " comes back. Didn't Zoe say something is
|
||||
wrong with it?\"">
|
||||
<COND (<YES?>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"" FN ", do you think someone tampered with it?\"">
|
||||
<COND (<YES?>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Does Marv suspect you've discovered signs of tampering?\"">
|
||||
<COND (<NOT <YES?>>
|
||||
<THIS-IS-IT ,TIP-IDEA>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Then I have an idea how to trap Marv and find out if he's the " D ,TRAITOR
|
||||
"!\"" CR>)>)>)>)>)>
|
||||
<RTRUE>>
|
||||
@@ -338,7 +341,7 @@ But you'll have to decide for yourself." CR>>
|
||||
<COND (<NOT <IN? ,SIEGEL ,COMM-BLDG>> <RFALSE>)>
|
||||
<MOVE-HERE-NOT-SUB ,SIEGEL>
|
||||
<COND (<NOT <IN? ,BLACK-BOX ,SONAR-EQUIPMENT>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Suddenly " D ,SIEGEL " reports: \"The " D ,SONAR-EQUIPMENT " looks okay
|
||||
to me, "FN".\"" CR>
|
||||
<RTRUE>)>
|
||||
@@ -347,10 +350,10 @@ to me, "FN".\"" CR>
|
||||
(T
|
||||
<COND (<IN? ,TIP ,HERE>
|
||||
<TIP-SAYS>
|
||||
%<XTELL FN ", here comes Marv, and he looks excited!\"|
|
||||
<TELL FN ", here comes Marv, and he looks excited!\"|
|
||||
">)>
|
||||
<TELL "Marv comes running up to you">)>
|
||||
%<XTELL " with the " D ,BLACK-BOX " and says: \"Look">
|
||||
<TELL " with the " D ,BLACK-BOX " and says: \"Look">
|
||||
<MOVE ,BLACK-BOX ,SIEGEL>
|
||||
<COND (,SIEGEL-TESTED
|
||||
<TELL
|
||||
@@ -358,13 +361,13 @@ to me, "FN".\"" CR>
|
||||
CR>)
|
||||
(T
|
||||
<SETG SIEGEL-TESTED T>
|
||||
%<XTELL
|
||||
<TELL
|
||||
" what I found attached to the " D ,SONAR-EQUIPMENT ", " FN "! ">
|
||||
<SIEGEL-BOX>
|
||||
<COND (<IN? ,TIP ,HERE>
|
||||
<TIP-FLASHES>
|
||||
<REACTION-MAY-BE ,SIEGEL>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"|
|
||||
Tip snaps his fingers and says: \"" FN "! Didn't that article in the "
|
||||
D ,MAGAZINE "
|
||||
@@ -387,12 +390,12 @@ a special way?\"">
|
||||
<ENABLE <QUEUE I-TIP-PRIVATELY 3>>
|
||||
<RFALSE>)>
|
||||
<MOVE ,TIP ,HERE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
CR "Tip draws you aside. \"Could I speak to you privately, " FN "?\"">
|
||||
<COND (<NOT <YES?>> <ENABLE <QUEUE I-TIP-PRIVATELY 3>> <RFALSE>)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"The Snark could be a synthetic monster created by " D ,THORPE "!\" he
|
||||
says when you're alone. \"I read about them in that magazine. If I'm
|
||||
says when you're alone. \"I read about them in that " D ,MAGAZINE ". If I'm
|
||||
right, whoever attached the " D ,BLACK-BOX " to the " D ,SONAR-EQUIPMENT
|
||||
" could be working for Thorpe! That way the " D ,GLOBAL-SNARK
|
||||
" would be lured into attacking the " D ,AQUADOME
|
||||
@@ -401,12 +404,12 @@ right, whoever attached the " D ,BLACK-BOX " to the " D ,SONAR-EQUIPMENT
|
||||
<TELL ,RECONSIDER? "\"" CR>)>
|
||||
<MIKE-1-F ,ANTRIM T>
|
||||
<COND (<NOT <YES?>>
|
||||
%<XTELL ,RECONSIDER? " In fact ">)
|
||||
<TELL ,RECONSIDER? " In fact ">)
|
||||
(T <TELL "\"Then ">)>
|
||||
<TELL "why not test him">
|
||||
<COND (,SIEGEL-TESTED
|
||||
<TELL ", since you tested " D ,SIEGEL>)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"?\" Tip
|
||||
asks. \"Mick is a laser expert in charge of maintenance on subs at the " D
|
||||
,AQUADOME ".\"" CR>
|
||||
@@ -439,7 +442,7 @@ Suddenly " D ,ANTRIM>
|
||||
<COND (<NOT <IN? ,ANTRIM ,HERE>> <TELL " appears and">)>
|
||||
<TELL
|
||||
" says, \"I'm going to check out your new " D ,SUB ", ">)>
|
||||
%<XTELL FN "!\" Mick turns and ">
|
||||
<TELL FN "!\" Mick turns and ">
|
||||
<MOVE ,ANTRIM ,CRAWL-SPACE>
|
||||
<FSET ,ENGINE-ACCESS-HATCH ,OPENBIT>
|
||||
<COND (<EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
||||
@@ -452,9 +455,10 @@ Suddenly " D ,ANTRIM>
|
||||
|
||||
<GLOBAL TIP-FLASHED <>>
|
||||
<ROUTINE TIP-FLASHES ()
|
||||
<COND (<NOT <IN? ,TIP ,HERE>> <RFALSE>)>
|
||||
<COND (,TIP-FLASHED <TELL "Once again ">)>
|
||||
<SETG TIP-FLASHED T>
|
||||
%<XTELL "Tip flashes you a meaningful glance. ">>
|
||||
<TELL "Tip flashes you a meaningful glance. ">>
|
||||
|
||||
<ROUTINE I-ANTRIM-REPORTS ()
|
||||
;<COND (,DEBUG <TELL "[time for Mick to report?]" CR>)>
|
||||
@@ -466,16 +470,16 @@ Suddenly " D ,ANTRIM>
|
||||
<MOVE-HERE-NOT-SUB ,ANTRIM>
|
||||
<CRLF>
|
||||
<COND (,ASKED-ANTRIM
|
||||
%<XTELL D ,ANTRIM " reports back ">
|
||||
<TELL D ,ANTRIM " reports back ">
|
||||
<COND (<EQUAL? ,HERE ,SUB ,AIRLOCK> <TELL "to you">)
|
||||
(T <TELL "from the " D ,AIRLOCK>)>
|
||||
<COND (<FSET? ,VOLTAGE-REGULATOR ,MUNGBIT>
|
||||
%<XTELL ".|
|
||||
<TELL ".|
|
||||
\"I think I found your " D ,OVERHEATING " problem. The " D
|
||||
,VOLTAGE-REGULATOR " was making the lasers overcharge.|
|
||||
I've adjusted it, but I could replace it. Want me to?\"">
|
||||
<COND (<YES?> <FCLEAR ,VOLTAGE-REGULATOR ,MUNGBIT>)>)
|
||||
(T %<XTELL ", looking somewhat puzzled.|
|
||||
(T <TELL ", looking somewhat puzzled.|
|
||||
\"" FN ", I ran the " D ,ENGINE " on full, but it didn't overheat.|
|
||||
The " D ,VOLTAGE-REGULATOR " PROBABLY got out of adjustment and
|
||||
overcharged the lasers, but it seems okay now. Just to be safe, I
|
||||
@@ -487,13 +491,13 @@ installed a new " D ,VOLTAGE-REGULATOR ".|
|
||||
<TELL "Suddenly ">)
|
||||
(T
|
||||
<MOVE-HERE-NOT-SUB ,BLY>
|
||||
%<XTELL
|
||||
<TELL
|
||||
D ,BLY " is approaching.|
|
||||
\"" FN ", did you send " D ,ANTRIM " to work on the " D ,SUB "?\" she
|
||||
asks. \"I was just ">
|
||||
<COND (<NOT <EQUAL? ,HERE ,BLY-OFFICE>>
|
||||
<TELL "in my office, ">)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"checking the " D ,STATION-MONITOR " to see what each of
|
||||
the crew was doing, and I discovered Mick had gone to the " D ,AIRLOCK ".
|
||||
When I saw him on the " D ,STATION-MONITOR ",
|
||||
@@ -507,7 +511,7 @@ now.\"" CR>)>
|
||||
<TIP-FLASHES>
|
||||
<COND (<FSET? ,VOLTAGE-REGULATOR ,MUNGBIT>
|
||||
<SETG TEST-BUTTON-READOUT ,TEST-BUTTON-NORMAL>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"It now looks as though " D ,ANTRIM " can be eliminated as the " D ,TRAITOR ",
|
||||
but you'll want to confirm this by pushing the " D ,TEST-BUTTON
|
||||
" before you set out again in the " D ,SUB ".|
|
||||
@@ -517,7 +521,7 @@ but you'll want to confirm this by pushing the " D ,TEST-BUTTON
|
||||
<COND (<READY-FOR-SNARK?>
|
||||
<RTRUE>)>
|
||||
<COND (<IN? ,ESCAPE-POD-UNIT ,SUB> <RTRUE>)>
|
||||
%<XTELL CR D ,ANTRIM
|
||||
<TELL CR D ,ANTRIM
|
||||
" turns away, then stops and says:|
|
||||
\"" FN ", there's no " D ,ESCAPE-POD-UNIT "
|
||||
under your seats in the " D ,SUB ". I hear you're planning a new type
|
||||
@@ -536,9 +540,9 @@ Would you like one installed, just in case? " D ,GREENUP " and " D ,LOWELL
|
||||
<COND (<EQUAL? ,HERE <LOC ,LOWELL> <LOC ,GREENUP>>
|
||||
<TELL ", we'll install it">)>
|
||||
<TELL ".\"" CR>
|
||||
<COND (<AND <EQUAL? <LOC ,SYRINGE>
|
||||
,LOWELL ,GREENUP ,ESCAPE-POD-UNIT>
|
||||
<SET X T>
|
||||
<COND (<EQUAL? <LOC ,SYRINGE> ,LOWELL ,GREENUP ,ESCAPE-POD-UNIT>
|
||||
<SET X T>)>
|
||||
<COND (<AND .X
|
||||
<EQUAL? <LOC ,ESCAPE-POD-UNIT>
|
||||
,LOWELL ,GREENUP ,DOME-STORAGE>>
|
||||
<SCORE-OBJ ,ESCAPE-POD-UNIT>
|
||||
@@ -572,11 +576,12 @@ Would you like one installed, just in case? " D ,GREENUP " and " D ,LOWELL
|
||||
<MOVE ,LOWELL ,HERE>
|
||||
<FCLEAR ,GREENUP ,BUSYBIT>
|
||||
<FCLEAR ,LOWELL ,BUSYBIT>
|
||||
%<XTELL "|
|
||||
<TELL "|
|
||||
Suddenly " D ,GREENUP " and " D ,LOWELL " report back from the ">
|
||||
<COND (<EQUAL? ,HERE ,AIRLOCK> <TELL D ,SUB>)
|
||||
(T <TELL D ,AIRLOCK>)>
|
||||
%<XTELL
|
||||
<SAID-TO ,LOWELL>
|
||||
<TELL
|
||||
".|
|
||||
\"That " D ,ESCAPE-POD-UNIT " is in place, " FN ",\" says Amy. \"Bill
|
||||
installed the part under your pilot's seat, and I installed the rest.\"" CR>>
|
||||
@@ -593,13 +598,13 @@ installed the part under your pilot's seat, and I installed the rest.\"" CR>>
|
||||
about the " D ,SYRINGE ".\"" CR>)
|
||||
(T
|
||||
<SETG GREENUP-GUILT T>
|
||||
%<XTELL
|
||||
<TELL
|
||||
D ,HORVAK "'s face is grim and pale as he reports the result of his
|
||||
analysis.|
|
||||
">
|
||||
<PERFORM ,V?ASK-ABOUT ,HORVAK ,SYRINGE>
|
||||
<COND (<IN? ,TIP ,HERE>
|
||||
%<XTELL "|
|
||||
<TELL "|
|
||||
Tip turns to you with a gasp. \"Holy smoke, " FN "! That's exactly what
|
||||
would have happened once you warmed up the pilot's seat enough to
|
||||
trigger the sensor relay!\"" CR>)>)>)
|
||||
@@ -618,10 +623,10 @@ trigger the sensor relay!\"" CR>)>)>)
|
||||
<SAID-TO ,HORVAK>
|
||||
<TELL "Doc Horvak ">
|
||||
<MOVE-HERE-NOT-SUB ,HORVAK "is now" "now comes rushing back,">
|
||||
%<XTELL " holding an aquatic dart gun. ">
|
||||
<TELL " holding an aquatic dart gun. ">
|
||||
<COND (<NOT <IN? ,HORVAK ,HERE>> <TELL "He shouts from outside, ">)>
|
||||
%<XTELL "\"Okay, "
|
||||
FN ", I've made a special 'trank' to use against an AH-type organism!
|
||||
<TELL "\"Okay, "
|
||||
FN ", I've made a special 'trank' to use against an A.H.-type organism!
|
||||
It's loaded in the dart gun. What shall I do with it?\"" CR>
|
||||
<SCORE-OBJ ,DART>
|
||||
<RTRUE>>
|
||||
@@ -649,12 +654,12 @@ It's loaded in the dart gun. What shall I do with it?\"" CR>
|
||||
<SETG GREENUP-ESCAPE <+ 1 ,GREENUP-ESCAPE>>
|
||||
<COND (<EQUAL? 3 ,GREENUP-ESCAPE>
|
||||
<MOVE ,GREENUP ,AIRLOCK>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"Greenup has reached the top of the wall and is climbing down the ladder
|
||||
into the " D ,AIRLOCK ". In a moment he'll reach the floor
|
||||
and head for the " D ,SUB "." CR>)
|
||||
(<EQUAL? 4 ,GREENUP-ESCAPE>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"Greenup is scrambling aboard the " D ,SUB ". Tip groans.
|
||||
\"There's no way to stop him now, " FN "! All he has to do is
|
||||
open the " D ,AIRLOCK-HATCH " and shove off!\"" CR>
|
||||
@@ -665,7 +670,7 @@ open the " D ,AIRLOCK-HATCH " and shove off!\"" CR>
|
||||
<FSET ,AIRLOCK-HATCH ,OPENBIT>
|
||||
<SETG AIRLOCK-FULL T>
|
||||
<QUEUE I-SNARK-ATTACKS 1>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"|
|
||||
Better not raise any false hopes. As the " D ,SUB " glides out,
|
||||
a pall of gloom settles over the " D ,AQUADOME ". All
|
||||
@@ -684,7 +689,7 @@ general S.O.S. to any craft in the vicinity isn't answered.">
|
||||
<MOVE ,GREENUP ,GALLEY>
|
||||
<FSET ,GREENUP ,MUNGBIT>
|
||||
<SETG GREENUP-CUFFED T>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Knowing he's trapped, " D ,GREENUP " gives up without a fight. " D ,BLY
|
||||
" orders him handcuffed to a pipe in the " D ,GALLEY "." CR>
|
||||
<SCORE-OBJ ,GLOBAL-GREENUP>
|
||||
@@ -695,7 +700,7 @@ general S.O.S. to any craft in the vicinity isn't answered.">
|
||||
<IN? ,ESCAPE-POD-UNIT ,SUB>
|
||||
<FSET? ,SYRINGE ,MUNGBIT>
|
||||
<IN? ,SYRINGE ,ESCAPE-POD-UNIT>>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"A sudden jab in your right buttock makes you realize that the "
|
||||
D ,SYRINGE " in the " D ,ESCAPE-POD-UNIT " has been activated, even though
|
||||
no alarm sounded.|
|
||||
@@ -740,10 +745,15 @@ Most regrettable!">
|
||||
<COND (.D <TELL " the " D ,DART>)>
|
||||
<COND (<AND .B .D> <TELL " and">)>
|
||||
<COND (.B <TELL " the " D ,BAZOOKA>)>)>
|
||||
%<XTELL "! Let's shove off and find the " D ,GLOBAL-SNARK "!\"" CR>>
|
||||
<TELL "! Let's shove off and find the " D ,GLOBAL-SNARK "!\"" CR>>
|
||||
|
||||
<GLOBAL SNARK-ATTACK-COUNT 0>
|
||||
|
||||
<ROUTINE USE-FEWER-TURNS ()
|
||||
<TELL "|
|
||||
|
|
||||
(You'll probably do better if you restart and use fewer turns next time.)">>
|
||||
|
||||
<ROUTINE I-SNARK-ATTACKS ()
|
||||
<COND (<0? ,SNARK-ATTACK-COUNT>
|
||||
<COND (<NOT ,SUB-IN-DOME>
|
||||
@@ -752,22 +762,21 @@ Most regrettable!">
|
||||
<NOT <L? ,SONAR-RANGE <ABS ,SUB-LAT>>>>>
|
||||
<QUEUE I-SNARK-ATTACKS 3>
|
||||
<RFALSE>)>
|
||||
%<XTELL "A call comes on the "> ;"[more?]"
|
||||
<TELL "A call comes on the "> ;"[more?]"
|
||||
<COND (<EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
||||
<TELL D ,SONARPHONE>)
|
||||
(T <TELL D ,VIDEOPHONE>)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
" from the " D ,AQUADOME": the " D ,GLOBAL-SNARK
|
||||
" is attacking and destroying it! You're too late!|
|
||||
|
|
||||
You'll probably do better if you restart and use fewer turns next time.">
|
||||
" is attacking and destroying it! You're too late!">
|
||||
<USE-FEWER-TURNS>
|
||||
<FINISH>)
|
||||
(T <ENABLE <QUEUE I-SNARK-ATTACKS -1>>)>)>
|
||||
<INC SNARK-ATTACK-COUNT>
|
||||
<COND (<==? 1 ,SNARK-ATTACK-COUNT>
|
||||
<MOVE ,SIEGEL ,COMM-BLDG>
|
||||
<MOVE ,TIP ,HERE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"|
|
||||
Suddenly an alarm rings through the " D ,AQUADOME "! " D ,SIEGEL " yells
|
||||
over the squawk box:|
|
||||
@@ -781,7 +790,7 @@ over the squawk box:|
|
||||
<COND (<EQUAL? ,HERE ,SUB ,CRAWL-SPACE ,AIRLOCK>
|
||||
<COND (<FSET? ,AIRLOCK-HATCH ,OPENBIT>
|
||||
<FCLEAR ,AIRLOCK-HATCH ,OPENBIT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The " D ,AIRLOCK-HATCH " closes in defense.">)>)
|
||||
(T
|
||||
<COND (<GLOBAL-IN? ,WINDOW ,HERE>
|
||||
@@ -791,7 +800,7 @@ over the squawk box:|
|
||||
<CRLF>
|
||||
<RFATAL>)
|
||||
(<==? 2 ,SNARK-ATTACK-COUNT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"|
|
||||
Even as you try this, the undersea nightmare takes shape!|
|
||||
\"Holy spaghetti! LOOK at that thing!\" cries Tip.|
|
||||
@@ -801,7 +810,7 @@ terror, the " D ,GLOBAL-SNARK " seems as big as a house,
|
||||
and it's just outside the " D ,AQUADOME "!" CR>
|
||||
<RFATAL>)
|
||||
(<==? 3 ,SNARK-ATTACK-COUNT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"|
|
||||
No more time for that! The " D ,SNARK " has flopped down on the " D
|
||||
,AQUADOME "!
|
||||
@@ -812,4 +821,5 @@ The Atlantic Ocean is pouring into the " D ,AQUADOME "! And
|
||||
your last thought, before a zillion tons of " D ,GLOBAL-WATER " crushes you
|
||||
to jelly, is
|
||||
\"Oh gosh! I wonder if I shut off the Bunsen burner in the lab?\"">
|
||||
<USE-FEWER-TURNS>
|
||||
<FINISH>)>>
|
||||
|
||||
305
game.script
Normal file
305
game.script
Normal file
@@ -0,0 +1,305 @@
|
||||
Here begins a transcript of interaction with
|
||||
SEASTALKER: JIM LAWRENCE AND THE ULTRAMARINE BIOCEPTOR
|
||||
Junior-level interactive fiction from Infocom
|
||||
Copyright (c) 1984 Infocom, Inc. All rights reserved.
|
||||
SEASTALKER is a trademark of Infocom, Inc.
|
||||
Release number 17 / Serial number 850208
|
||||
|
||||
Okay, Jim, what do you want to do now?
|
||||
>ANSWER THE ALARM
|
||||
|
||||
Why not turn on the videophone?
|
||||
The alarm bell continues to ring.
|
||||
|
||||
What next?
|
||||
>TURN ON THE VIDEOPHONE
|
||||
|
||||
As the alarm bell stops ringing, a picture of a woman holding a microphone
|
||||
appears, and you can hear her voice from the speaker. But both sound and
|
||||
picture are fuzzy.
|
||||
(Your score just went up by 1 point!)
|
||||
|
||||
What next?
|
||||
>TUNE IT
|
||||
|
||||
Ah, that's better! You recognize the woman as Commander Bly, who's in charge of
|
||||
the Undersea Research Station of Inventions Unlimited, called the Aquadome,
|
||||
just off the Atlantic coast. "Jim! Jim!" she's saying. "This is the Aquadome
|
||||
calling the Lawrence Research Lab! We have an urgent problem!"
|
||||
(Your score just went up by 1 point!)
|
||||
|
||||
What next?
|
||||
>TALK TO HER
|
||||
|
||||
She can't hear you unless you pick up your microphone and switch it on.
|
||||
|
||||
What next?
|
||||
>PICK UP THE MIKE AND SWITCH IT ON
|
||||
|
||||
(Your score just went up by 1 point!)
|
||||
You are now holding the microphone.
|
||||
|
||||
Okay, the microphone is now on.
|
||||
|
||||
What next?
|
||||
>TALK TO COMMANDER BLY
|
||||
|
||||
"Jim! Jim! Our transparent dome enclosing the Undersea Research Station is
|
||||
being battered by a huge monster!"
|
||||
|
||||
What next?
|
||||
>BLY, SHOW ME THE MONSTER
|
||||
|
||||
The Aquadome's camera pans, and the monster comes into view on your videophone
|
||||
screen. It resembles a huge sea slug, about 5 meters tall. Its clawed tentacles
|
||||
pound and scratch at the dome.
|
||||
|
||||
What next?
|
||||
>BLY, TELL ME ABOUT THE MONSTER
|
||||
|
||||
"Some of our divers saw it while exploring the undersea environment. They
|
||||
nicknamed it the Snark. This is the first time it has approached the Aquadome,
|
||||
and it may be the last time, Jim! I'm not sure how long our plastic dome
|
||||
enclosure can withstand such a battering!"
|
||||
|
||||
What next?
|
||||
>BLY, ATTACK THE MONSTER
|
||||
|
||||
"Jim, this is a peaceful research facility. We have no weapons."
|
||||
|
||||
What next?
|
||||
>BLY, LEAVE THE AQUADOME
|
||||
|
||||
"Our emergency escape bell would be vulnerable to a monster as big as the
|
||||
Snark. Ditto for SCUBA gear, deep-sea diving suits, or jet-propelled
|
||||
observation bubbles."
|
||||
|
||||
What next?
|
||||
>BLY, WAIT THERE FOR ME
|
||||
|
||||
"Okay, Jim, but hurry!"
|
||||
|
||||
(Are you tired of seeing "What next?" Well, you won't see it any more.)
|
||||
|
||||
|
||||
>HANG UP
|
||||
|
||||
"I hope to see you soon, Jim."
|
||||
|
||||
Something's wrong! The picture vanished from your videophone screen, and the
|
||||
sound conked out!
|
||||
Tip says, "That's strange! Maybe you should use the Computestor."
|
||||
(Oh no! Your score just went down by 3 points!)
|
||||
|
||||
>GO TO THE COMPUTESTOR
|
||||
|
||||
You can't walk away while you are holding the microphone!
|
||||
|
||||
>PUT IT ON THE TABLE
|
||||
|
||||
Okay.
|
||||
|
||||
>GO TO THE COMPUTESTOR
|
||||
|
||||
It's in the north part.
|
||||
(north part)
|
||||
You're in the north part of your laboratory. A Computestor stands here to help
|
||||
test your inventions.
|
||||
|
||||
>USE IT
|
||||
|
||||
The Computestor is off!
|
||||
|
||||
>TURN IT ON
|
||||
|
||||
The Computestor is ready for questions.
|
||||
|
||||
>ASK IT ABOUT THE VIDEOPHONE
|
||||
|
||||
"Symptoms: no picture, no sound.
|
||||
Possible causes:
|
||||
1) Failure of the transmitter at source.
|
||||
2) A short in the undersea coaxial cable linking transmitter to the Lawrence
|
||||
Research Lab, if signal is coming from Aquadome.
|
||||
3) Sunspot interference or satellite malfunction if transmitter is at earth's
|
||||
surface.
|
||||
4) Failure of the video receiver.
|
||||
5) Overload in the Electrical Panel (circuit breaker popped).
|
||||
6) Sabotage (circuit breaker open)."
|
||||
|
||||
>GO TO THE CIRCUIT BREAKER
|
||||
|
||||
It's in the corridor.
|
||||
(corridor)
|
||||
You're in a corridor, with your laboratory to the west, a storage closet to the
|
||||
south, and Kemp's office to the east. An Electrical Panel fills most of the
|
||||
north wall.
|
||||
|
||||
Tip follows you into the corridor.
|
||||
(If you want a clue, find Infocard #3 in your SEASTALKER package. Read hidden
|
||||
clue #1 and put "Electrical Panel" in the blank space.)
|
||||
|
||||
>CHECK THE BREAKER
|
||||
|
||||
(If you want a clue, find Infocard #3 in your SEASTALKER package. Read hidden
|
||||
clue #1 and put "Electrical Panel" in the blank space.)
|
||||
|
||||
>CLOSE IT
|
||||
|
||||
Okay, the circuit breaker is now closed.
|
||||
(Your score just went up by 3 points!)
|
||||
|
||||
>GO BACK TO THE LAB
|
||||
|
||||
(lab center)
|
||||
You're at your workbench in the center of your laboratory, a small part of the
|
||||
Lawrence Research Lab in the town of Frobton. The videophone screen looms
|
||||
overhead.
|
||||
|
||||
Tip follows you into the lab center.
|
||||
Sitting on the workbench is:
|
||||
a microphone
|
||||
a diagram
|
||||
As you re-enter the lab, Tip says, "Look, Jim! The videophone's working again!
|
||||
There's a normal test pattern on the screen!"
|
||||
|
||||
>TIP, GO TO THE SUBMARINE
|
||||
|
||||
"I think you can do that better yourself."
|
||||
|
||||
>GO TO THE SUB
|
||||
|
||||
(SCIMITAR)
|
||||
You're in the pilot's seat of the SCIMITAR, its operating control panel before
|
||||
you.
|
||||
A wraparound viewport, both fore and aft, provides a view ahead and astern. You
|
||||
can also observe your surroundings with a sonarscope and a hydrophone listening
|
||||
device. There's a sonarphone for communication. You'll discover other features
|
||||
when you need them.
|
||||
Tip is sitting behind you, reading a magazine.
|
||||
The power reactor is off and open.
|
||||
(Your score just went up by 1 point!)
|
||||
|
||||
>TURN IT ON
|
||||
|
||||
(If you want a clue, find Infocard #3 in your SEASTALKER package. Read hidden
|
||||
clue #3 and put "catalyst capsule" in the blank space.)
|
||||
|
||||
>GO TO THE CAPSULE
|
||||
|
||||
It's in the west walkway.
|
||||
(west walkway)
|
||||
You're at a work counter, next to the control gear used to operate the test
|
||||
tank.
|
||||
The test tank (which is now empty of sea water) is located in a large work
|
||||
room, just south of your laboratory, with concrete-block walls on three sides
|
||||
and a high metal roof. Most of its floor is dug out and lined with steel, to
|
||||
form the huge tank used for developing and testing underwater gear and the
|
||||
pilot models of your submarine craft.
|
||||
There's a walkway around the tank on three sides -- north, west and south. On
|
||||
the east side, a steel gate forms the wall of the room.
|
||||
|
||||
Tip follows you into the west walkway.
|
||||
Sitting on the work counter is:
|
||||
a catalyst capsule
|
||||
|
||||
>TAKE IT
|
||||
|
||||
(Your score just went up by 5 points!)
|
||||
You are now holding the catalyst capsule.
|
||||
|
||||
>GET IN THE SUB
|
||||
|
||||
You have to go north to board the SCIMITAR.
|
||||
|
||||
>GO NORTH
|
||||
|
||||
(north walkway)
|
||||
Tip is off to the south.
|
||||
|
||||
>BOARD THE SCIMITAR
|
||||
|
||||
(SCIMITAR)
|
||||
Tip is sitting behind you, reading a magazine.
|
||||
The power reactor is off and open.
|
||||
|
||||
>PUT THE CAPSULE IN THE REACTOR
|
||||
|
||||
Okay.
|
||||
|
||||
>CLOSE THE REACTOR THEN TURN IT ON
|
||||
|
||||
Okay, the reactor is now closed.
|
||||
|
||||
Electrical systems now activated.
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
>READ THE INSTRUMENTS
|
||||
|
||||
Main instruments:
|
||||
depth finder, hydrophone, sonarscope, and temperature gauge.
|
||||
|
||||
>LEAVE THE TANK
|
||||
|
||||
The tank is empty!
|
||||
|
||||
>FILL IT
|
||||
|
||||
The sea water quickly fills the tank, up to the level of the walkway.
|
||||
|
||||
>LEAVE IT
|
||||
|
||||
The gate is closed!
|
||||
|
||||
>OPEN IT
|
||||
|
||||
Opened (by remote control).
|
||||
|
||||
>LEAVE THE TANK
|
||||
|
||||
The engine is off!
|
||||
|
||||
>TURN IT ON
|
||||
|
||||
You can immediately hear the powerful thrum of the hydrojet turbine.
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
>LEAVE THE TANK
|
||||
|
||||
You can do this by setting the throttle to the speed you want (slow, medium, or
|
||||
fast) and by moving the joystick in the compass direction you wish to go.
|
||||
|
||||
>SET THE THROTTLE TO SLOW SPEED
|
||||
|
||||
(I found too many nouns in that sentence!)
|
||||
|
||||
>SET THE THROTTLE TO SLOW
|
||||
|
||||
You shouldn't leave the tank with the hatch open!
|
||||
|
||||
>CLOSE IT
|
||||
|
||||
Okay, the entry hatch is now closed.
|
||||
|
||||
>SLOW
|
||||
|
||||
Okay, now that the throttle is set, try pushing the joystick to the east.
|
||||
|
||||
>PUSH THE STICK EAST
|
||||
|
||||
The SCIMITAR glides smoothly out of the tank onto the surface of Frobton Bay.
|
||||
You're heading east at 1 sea square per turn.
|
||||
(Your score just went up by 5 points!)
|
||||
(This might be a good time to use the command: SAVE.)
|
||||
|
||||
A speedboat came out of nowhere and almost hit you! It's dangerous on the
|
||||
surface of the bay.
|
||||
|
||||
>Q
|
||||
|
||||
Your score is 24 points out of 100, in 44 turns.
|
||||
This score gives you the rank of a fair adventurer.
|
||||
(If you want to continue from this point at another time, you must "SAVE"
|
||||
first.)
|
||||
Do you want to stop playing now? >Y
|
||||
|
||||
56
german.rno
Normal file
56
german.rno
Normal file
@@ -0,0 +1,56 @@
|
||||
.c;Seastalker -- a perfect adventure
|
||||
.s
|
||||
.p 2,0
|
||||
^*Whoever believes that text adventures are boring doesn't know
|
||||
"Seastalker". This deep-sea adventure for the C64, Atari, Apple II, and
|
||||
IBM-PC amazes with its variety and extras, that provide for atmosphere:
|
||||
from a sticker to a logbook and "Infocard-decoder".\*
|
||||
.s
|
||||
Many dangers lie in waiting in the unfathomable deeps of the sea. The
|
||||
"Aquadome", the first underwater research station, is threatened by a
|
||||
catastrophe. As the upright, young hero (no false modesty) you swing into
|
||||
the submarine to help. Indeed you were ready and waiting for a wicked
|
||||
sea monster.
|
||||
What sounds to you like the plot of a wild action game is the fanciful
|
||||
story to "Seastalker", one of the newest adventure games of an American
|
||||
software house, that is famous for its cunning text-adventures, that show
|
||||
themselves in two ways: First, the programs are positively uncannily
|
||||
"intelligent", they understand complicated sentences and reach an almost
|
||||
literary niveau. Second, one gets a great quantity of accessories for
|
||||
one's money.
|
||||
Also with "Seastalker" the extras aren't spared: Along with the disk and the
|
||||
usual loading directions one gets a logbook, just like the original, out of
|
||||
which detailed instructions are revealed, a sea chart, a sticker and a whole
|
||||
pack of "Infocards" with their decoder.
|
||||
On these Infocards are hidden hints, that are only able to be seen when they
|
||||
are shoved through the groove in the decoder. A frustrated adventurer gets
|
||||
discrete tips this way, that he could not see by "accident", only when he
|
||||
really wants to. The logbook gives one a real seaman's atmosphere. Along
|
||||
with a rousing letter from the president of the USA, it gives a hint of the
|
||||
way to use the technical equipment and how to communicate with the program.
|
||||
The adventure begins with you in the research laboratory, working
|
||||
industriously away. Suddenly the alarms go off. If you are lively, you
|
||||
can get radio contact with the Aquadome. A woman appears in the adventure
|
||||
on a screen and implores you for help, because the underwater station is
|
||||
being threatened by a horrible monster, that so far is not more closely
|
||||
described. Luckily, your submarine "Scimitar" stands ready, with it you
|
||||
can rush to the Aquadome to help.
|
||||
.s
|
||||
.c;Literary niveau
|
||||
"Seastalker" is not an exaggeratedly difficult text-adventure. In the USA it is
|
||||
suggested for children from nine years up. The program is in very clean
|
||||
English and a knowledge of the correspondence style is given in advance,
|
||||
this allows it to address in our degree of longitude a previously matured public.
|
||||
This pretentious game is designed with "speech intelligence". Where other
|
||||
adventures accept only "Get food", "Seastalker" swallows extensive sentences
|
||||
like "Unlock the front door with key and go north". One can even talk with
|
||||
other people in the adventure.
|
||||
"Seastalker" is a very worthily made text-adventure for players with a progressive
|
||||
knowledge of English. Although it is relatively easy, some beginners have
|
||||
great trouble to succesfully complete the mission. The program comes on a
|
||||
diskette and costs about 100 Marks.
|
||||
.s
|
||||
[caption at top] Naked text fills the screen
|
||||
[caption at bottom] The inclusions to "Seastalker" are not only charming and pleasurable to the great journey in this underwater adventure
|
||||
.s
|
||||
.c;[translation by Linde Simpson]
|
||||
116
global.zap
116
global.zap
@@ -64,7 +64,7 @@
|
||||
|
||||
|
||||
.FUNCT LOCAL-SUB-F
|
||||
EQUAL? PRSA,V?PUT \?ELS5
|
||||
EQUAL? PRSA,V?TURN,V?PUT \?ELS5
|
||||
CALL MORE-SPECIFIC
|
||||
RSTACK
|
||||
?ELS5: EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH \?ELS7
|
||||
@@ -108,7 +108,7 @@
|
||||
RSTACK
|
||||
?ELS45: EQUAL? PRSA,V?BOARD,V?THROUGH \?ELS49
|
||||
EQUAL? HERE,SUB,CRAWL-SPACE \?ELS54
|
||||
CALL ALREADY,WINNER,STR?123
|
||||
CALL ALREADY,WINNER,STR?117
|
||||
RSTACK
|
||||
?ELS54: EQUAL? HERE,AIRLOCK-WALL \?ELS56
|
||||
CALL GOTO,AIRLOCK
|
||||
@@ -141,7 +141,7 @@
|
||||
CALL PERFORM,PRSA,SUB-DOOR
|
||||
RTRUE
|
||||
?ELS89: EQUAL? PRSA,V?ANALYZE \?ELS93
|
||||
EQUAL? PRSI,DAMAGE,GLOBAL-SABOTAGE,0 \?ELS93
|
||||
EQUAL? PRSI,DAMAGE,GLOBAL-SABOTAGE,FALSE-VALUE \?ELS93
|
||||
PRINTI "You can do this by pushing the "
|
||||
PRINTD TEST-BUTTON
|
||||
EQUAL? HERE,SUB,CRAWL-SPACE /?CND98
|
||||
@@ -256,10 +256,10 @@
|
||||
PRINTR " subs."
|
||||
|
||||
|
||||
.FUNCT PHONE-ON,PERSON,PWHERE,ON
|
||||
SET 'REMOTE-PERSON,PERSON
|
||||
SET 'QCONTEXT,PERSON
|
||||
CALL THIS-IS-IT,PERSON
|
||||
.FUNCT PHONE-ON,PER,PWHERE,ON
|
||||
SET 'REMOTE-PERSON,PER
|
||||
SET 'QCONTEXT,PER
|
||||
CALL THIS-IS-IT,PER
|
||||
SET 'REMOTE-PERSON-REMLOC,PWHERE
|
||||
SET 'REMOTE-PERSON-ON,ON
|
||||
SET 'REMOTE-PERSON-LOC,HERE
|
||||
@@ -271,10 +271,10 @@
|
||||
.FUNCT PHONE-OFF
|
||||
ZERO? REMOTE-PERSON /FALSE
|
||||
MOVE REMOTE-PERSON,GLOBAL-OBJECTS
|
||||
SET 'REMOTE-PERSON,0
|
||||
SET 'REMOTE-PERSON-LOC,0
|
||||
SET 'REMOTE-PERSON-ON,0
|
||||
RTRUE
|
||||
SET 'REMOTE-PERSON,FALSE-VALUE
|
||||
SET 'REMOTE-PERSON-LOC,FALSE-VALUE
|
||||
SET 'REMOTE-PERSON-ON,FALSE-VALUE
|
||||
RETURN REMOTE-PERSON-ON
|
||||
|
||||
|
||||
.FUNCT INTERCOM-F,P,L
|
||||
@@ -316,7 +316,7 @@
|
||||
EQUAL? PRSA,V?LAMP-OFF,V?TURN,V?PUSH \FALSE
|
||||
?THN6: EQUAL? HERE,CENTER-OF-LAB \?ELS12
|
||||
FSET? VIDEOPHONE,MUNGBIT \?ELS15
|
||||
CALL TELL-HINT,83,POWER-SUPPLY,0
|
||||
CALL TELL-HINT,83,POWER-SUPPLY,FALSE-VALUE
|
||||
RTRUE
|
||||
?ELS15: EQUAL? P-XADJN,W?TEST \?ELS17
|
||||
CALL A-O-K
|
||||
@@ -346,7 +346,7 @@
|
||||
PRINTI "No damage. Hull still watertight."
|
||||
JUMP ?CND41
|
||||
?ELS45: EQUAL? TEST-BUTTON-READOUT,REGULATOR-MSG \?ELS49
|
||||
SET 'REGULATOR-MSG-SEEN,1
|
||||
SET 'REGULATOR-MSG-SEEN,TRUE-VALUE
|
||||
PRINTI "Lasers in operational computers are over-charging.
|
||||
To correct, adjust "
|
||||
PRINTD VOLTAGE-REGULATOR
|
||||
@@ -499,7 +499,7 @@ WARNING: "
|
||||
RTRUE
|
||||
?ELS89: ZERO? WOMAN-ON-SCREEN \?CND83
|
||||
PRINTR "Nothing changes."
|
||||
?CND83: SET 'WOMAN-ON-SCREEN,0
|
||||
?CND83: SET 'WOMAN-ON-SCREEN,FALSE-VALUE
|
||||
CALL PHONE-ON,GLOBAL-BLY,AQUADOME,VIDEOPHONE
|
||||
CALL THIS-IS-IT,PROBLEM
|
||||
PRINTI "Ah, that's better! You recognize the woman as "
|
||||
@@ -524,7 +524,7 @@ WARNING: "
|
||||
RTRUE
|
||||
?ELS82: EQUAL? PRSA,V?LAMP-OFF \?ELS99
|
||||
FSET? VIDEOPHONE,ONBIT \FALSE
|
||||
SET 'WOMAN-ON-SCREEN,0
|
||||
SET 'WOMAN-ON-SCREEN,FALSE-VALUE
|
||||
FCLEAR VIDEOPHONE,ONBIT
|
||||
EQUAL? REMOTE-PERSON-ON,VIDEOPHONE \?ELS107
|
||||
FSET? MICROPHONE,ONBIT \?ELS107
|
||||
@@ -535,8 +535,8 @@ WARNING: "
|
||||
?ELS99: EQUAL? PRSA,V?REPLY,V?LAMP-ON \?ELS115
|
||||
ZERO? SUB-IN-TANK /?ELS115
|
||||
FSET? VIDEOPHONE,ONBIT \?ELS120
|
||||
CALL ALREADY,VIDEOPHONE,STR?47
|
||||
JUMP ?CND118
|
||||
CALL ALREADY,VIDEOPHONE,STR?42
|
||||
RTRUE
|
||||
?ELS120: FSET? CIRCUIT-BREAKER,OPENBIT /?THN123
|
||||
FSET? VIDEOPHONE,MUNGBIT \?CND118
|
||||
?THN123: PRINTR "You can't. It's conked out."
|
||||
@@ -544,9 +544,9 @@ WARNING: "
|
||||
PUT STACK,0,0
|
||||
FSET VIDEOPHONE,ONBIT
|
||||
ZERO? ALARM-RINGING /?ELS131
|
||||
SET 'ALARM-RINGING,0
|
||||
SET 'ALARM-RINGING,FALSE-VALUE
|
||||
CALL QUEUE,I-ALARM-RINGING,0
|
||||
SET 'WOMAN-ON-SCREEN,1
|
||||
SET 'WOMAN-ON-SCREEN,TRUE-VALUE
|
||||
CALL THIS-IS-IT,GLOBAL-BLY
|
||||
PRINTI "As the "
|
||||
PRINTD ALARM
|
||||
@@ -692,9 +692,9 @@ WARNING: "
|
||||
ZERO? VAL /?ELS44
|
||||
PRINTI "Your "
|
||||
EQUAL? P-ADVERB,W?CAREFULLY \?ELS52
|
||||
PUSH STR?124
|
||||
PUSH STR?118
|
||||
JUMP ?CND48
|
||||
?ELS52: PUSH STR?125
|
||||
?ELS52: PUSH STR?119
|
||||
?CND48: PRINT STACK
|
||||
PRINTR " search reveals nothing exciting."
|
||||
?ELS44: PRINTR "You didn't finish looking over the place."
|
||||
@@ -707,7 +707,7 @@ WARNING: "
|
||||
?ELS69: FSET? F,CONTBIT \?ELS71
|
||||
CALL INHABITED?,F
|
||||
ZERO? STACK /?ELS71
|
||||
SET 'FLG,1
|
||||
SET 'FLG,TRUE-VALUE
|
||||
SET 'HR,HERE
|
||||
SET 'HERE,F
|
||||
CALL GLOBAL-HERE-F
|
||||
@@ -715,8 +715,8 @@ WARNING: "
|
||||
JUMP ?CND67
|
||||
?ELS71: FSET? F,PERSON \?CND67
|
||||
EQUAL? F,PLAYER /?CND67
|
||||
SET 'FLG,1
|
||||
CALL DESCRIBE-OBJECT,F,1,0
|
||||
SET 'FLG,TRUE-VALUE
|
||||
CALL DESCRIBE-OBJECT,F,TRUE-VALUE,0
|
||||
?CND67: NEXT? F >F /?KLU84
|
||||
?KLU84: JUMP ?PRG65
|
||||
?REP66: ZERO? FLG \TRUE
|
||||
@@ -752,7 +752,7 @@ WARNING: "
|
||||
EQUAL? PRSA,V?WALK-TO \?ELS5
|
||||
CALL IN-TANK-AREA?,HERE
|
||||
ZERO? STACK /?ELS10
|
||||
CALL ALREADY,PLAYER,STR?123
|
||||
CALL ALREADY,PLAYER,STR?117
|
||||
RSTACK
|
||||
?ELS10: ZERO? SUB-IN-TANK /FALSE
|
||||
CALL PERFORM,PRSA,NORTH-TANK-AREA
|
||||
@@ -785,23 +785,23 @@ WARNING: "
|
||||
PRINTR "You'll have to go west to do that."
|
||||
?ELS41: EQUAL? PRSA,V?EMPTY \?ELS47
|
||||
FSET? TANK-GATE,OPENBIT \?ELS52
|
||||
CALL YOU-CANT,STR?70,TANK-GATE,STR?23
|
||||
CALL YOU-CANT,STR?65,TANK-GATE,STR?21
|
||||
RSTACK
|
||||
?ELS52: FSET? ENGINE,ONBIT \?ELS54
|
||||
CALL YOU-CANT,STR?70,ENGINE,STR?47
|
||||
CALL YOU-CANT,STR?65,ENGINE,STR?42
|
||||
RSTACK
|
||||
?ELS54: ZERO? TEST-TANK-FULL /?ELS56
|
||||
SET 'TEST-TANK-FULL,0
|
||||
SET 'TEST-TANK-FULL,FALSE-VALUE
|
||||
PRINTI "The "
|
||||
PRINTD GLOBAL-WATER
|
||||
PRINTR " quickly drains from the tank."
|
||||
?ELS56: CALL ALREADY,TEST-TANK,STR?70
|
||||
?ELS56: CALL ALREADY,TEST-TANK,STR?65
|
||||
RSTACK
|
||||
?ELS47: EQUAL? PRSA,V?FILL \?ELS63
|
||||
ZERO? TEST-TANK-FULL /?ELS68
|
||||
CALL ALREADY,TEST-TANK,STR?71
|
||||
CALL ALREADY,TEST-TANK,STR?66
|
||||
RSTACK
|
||||
?ELS68: SET 'TEST-TANK-FULL,1
|
||||
?ELS68: SET 'TEST-TANK-FULL,TRUE-VALUE
|
||||
PRINTI "The "
|
||||
PRINTD GLOBAL-WATER
|
||||
PRINTR " quickly fills the tank, up to the level of the walkway."
|
||||
@@ -866,9 +866,9 @@ WARNING: "
|
||||
?ELS11: EQUAL? PRSA,V?EXAMINE,V?ANALYZE \?ELS15
|
||||
PRINTI "This gate "
|
||||
FSET? TANK-GATE,OPENBIT \?ELS22
|
||||
PUSH STR?126
|
||||
PUSH STR?113
|
||||
JUMP ?CND18
|
||||
?ELS22: PUSH STR?127
|
||||
?ELS22: PUSH STR?120
|
||||
?CND18: PRINT STACK
|
||||
PRINTI " raised to permit submarines to go in or out of the tank. The gate can be raised or lowered by wall controls or by remote control from all "
|
||||
CALL PRINT-NAME,LAST-NAME
|
||||
@@ -921,29 +921,29 @@ WARNING: "
|
||||
.FUNCT GATE-STATUS
|
||||
ZERO? SUB-IN-TANK /?ELS5
|
||||
FSET? TANK-GATE,OPENBIT \?ELS11
|
||||
RETURN STR?23
|
||||
RETURN STR?21
|
||||
?ELS11: RETURN STR?17
|
||||
?ELS5: ZERO? SUB-IN-DOME \?THN16
|
||||
CALL SUB-OUTSIDE-AIRLOCK?
|
||||
ZERO? STACK /?ELS15
|
||||
?THN16: FSET? AIRLOCK-HATCH,OPENBIT \?ELS22
|
||||
RETURN STR?23
|
||||
RETURN STR?21
|
||||
?ELS22: RETURN STR?17
|
||||
?ELS15: RETURN STR?128
|
||||
?ELS15: RETURN STR?121
|
||||
|
||||
|
||||
.FUNCT TANK-STATUS
|
||||
ZERO? SUB-IN-TANK /?ELS5
|
||||
ZERO? TEST-TANK-FULL /?ELS11
|
||||
RETURN STR?71
|
||||
?ELS11: RETURN STR?70
|
||||
RETURN STR?66
|
||||
?ELS11: RETURN STR?65
|
||||
?ELS5: ZERO? SUB-IN-DOME \?THN17
|
||||
CALL SUB-OUTSIDE-AIRLOCK?
|
||||
ZERO? STACK /?ELS16
|
||||
?THN17: ZERO? AIRLOCK-FULL /?ELS23
|
||||
RETURN STR?71
|
||||
?ELS23: RETURN STR?70
|
||||
?ELS16: RETURN STR?128
|
||||
RETURN STR?66
|
||||
?ELS23: RETURN STR?65
|
||||
?ELS16: RETURN STR?121
|
||||
|
||||
|
||||
.FUNCT AIRLOCK-HATCH-F
|
||||
@@ -972,7 +972,7 @@ WARNING: "
|
||||
.FUNCT OPEN-CLOSE-GATE,GATE,FULL,TANK
|
||||
EQUAL? PRSA,V?RAISE,V?OPEN \?ELS3
|
||||
FSET? GATE,OPENBIT \?ELS6
|
||||
CALL ALREADY,GATE,STR?23
|
||||
CALL ALREADY,GATE,STR?21
|
||||
RTRUE
|
||||
?ELS6: ZERO? FULL \?ELS8
|
||||
PRINTI "You'd better fill the "
|
||||
@@ -980,7 +980,7 @@ WARNING: "
|
||||
PRINTR " first, unless you want to go surfing!"
|
||||
?ELS8: EQUAL? GATE,TANK-GATE \?CND13
|
||||
EQUAL? HERE,SUB \?CND13
|
||||
SET 'OPENED-GATE-FROM-SUB,1
|
||||
SET 'OPENED-GATE-FROM-SUB,TRUE-VALUE
|
||||
?CND13: FSET GATE,OPENBIT
|
||||
JUMP ?CND1
|
||||
?ELS3: FSET? GATE,OPENBIT \?ELS22
|
||||
@@ -1039,7 +1039,7 @@ WARNING: "
|
||||
RSTACK
|
||||
?ELS11: EQUAL? PRSA,V?OPEN \?ELS17
|
||||
FSET? AIRLOCK-ROOF,OPENBIT \?ELS20
|
||||
CALL ALREADY,AIRLOCK-ROOF,STR?23
|
||||
CALL ALREADY,AIRLOCK-ROOF,STR?21
|
||||
RTRUE
|
||||
?ELS20: FSET? AIRLOCK-HATCH,OPENBIT \?CND18
|
||||
CALL THIS-IS-IT,AIRLOCK-HATCH
|
||||
@@ -1079,28 +1079,23 @@ WARNING: "
|
||||
|
||||
.FUNCT LAB-ASSISTANT-F
|
||||
EQUAL? PRSA,V?WALK-TO,V?FIND \FALSE
|
||||
CALL DO-INSTEAD-OF,LAB-ASSISTANT,LOWELL
|
||||
CALL DO-INSTEAD-OF,LOWELL,LAB-ASSISTANT
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT DOC-LABORATORY-F
|
||||
ZERO? SUB-IN-DOME \?THN6
|
||||
EQUAL? PRSA,V?FIND \?ELS5
|
||||
?THN6: CALL DO-INSTEAD-OF,HERE,DOC-LABORATORY
|
||||
RTRUE
|
||||
?ELS5: EQUAL? PRSA,V?WALK-TO \FALSE
|
||||
CALL PERFORM,PRSA,DOME-LAB
|
||||
EQUAL? PRSA,V?THROUGH,V?WALK-TO \FALSE
|
||||
CALL PERFORM,V?WALK-TO,DOME-LAB
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT YOUR-LABORATORY-F
|
||||
CALL IN-LAB?,HERE
|
||||
ZERO? STACK \?THN6
|
||||
EQUAL? PRSA,V?FIND \?ELS5
|
||||
?THN6: CALL DO-INSTEAD-OF,HERE,YOUR-LABORATORY
|
||||
ZERO? STACK /?ELS5
|
||||
CALL DO-INSTEAD-OF,HERE,YOUR-LABORATORY
|
||||
RTRUE
|
||||
?ELS5: EQUAL? PRSA,V?WALK-TO \FALSE
|
||||
CALL PERFORM,PRSA,CENTER-OF-LAB
|
||||
?ELS5: EQUAL? PRSA,V?THROUGH,V?WALK-TO \FALSE
|
||||
CALL PERFORM,V?WALK-TO,CENTER-OF-LAB
|
||||
RTRUE
|
||||
|
||||
|
||||
@@ -1135,8 +1130,9 @@ WARNING: "
|
||||
|
||||
|
||||
.FUNCT CHAIR-F
|
||||
EQUAL? PRSA,V?LOOK-UNDER,V?SIT \FALSE
|
||||
PRINTR "That's just a waste of time."
|
||||
EQUAL? PRSA,V?CLIMB-DOWN /?THN6
|
||||
EQUAL? PRSA,V?CLIMB-ON,V?LOOK-UNDER,V?SIT \FALSE
|
||||
?THN6: PRINTR "That's just a waste of time."
|
||||
|
||||
|
||||
.FUNCT UNDERWATER-F
|
||||
@@ -1148,12 +1144,12 @@ WARNING: "
|
||||
|
||||
.FUNCT GAME-F
|
||||
EQUAL? PRSA,V?READ,V?PLAY,V?EXAMINE \FALSE
|
||||
SET 'P-WON,0
|
||||
SET 'P-WON,FALSE-VALUE
|
||||
PRINTR "(You're doing it!)"
|
||||
|
||||
|
||||
.FUNCT SOMETHING-F
|
||||
SET 'P-WON,0
|
||||
SET 'P-WON,FALSE-VALUE
|
||||
PRINTI "(Type a real word instead of "
|
||||
PRINTD SOMETHING
|
||||
PRINTR ".)"
|
||||
|
||||
154
global.zil
154
global.zil
@@ -5,7 +5,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
(PSEUDO "NOTHIN" RANDOM-PSEUDO)
|
||||
(VALUE 0)
|
||||
(GENERIC NULL-F)
|
||||
(FLAGS BUSYBIT CONTBIT DOORBIT ;DRINKBIT FEMALE ;FOODBIT FURNITURE
|
||||
(FLAGS BUSYBIT CONTBIT DOORBIT ;DRINKBIT FEMALE ;FOODBIT ;FURNITURE
|
||||
INVISIBLE LIGHTBIT LOCKED MUNGBIT
|
||||
NARTICLEBIT NDESCBIT ONBIT ON?BIT OPENBIT
|
||||
PERSON READBIT RLANDBIT RMUNGBIT SEARCHBIT SURFACEBIT TAKEBIT
|
||||
@@ -47,7 +47,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<VERB? ASK-ABOUT ASK-FOR SEARCH-FOR TELL-ABOUT>>
|
||||
<AND <DOBJ? IT>
|
||||
<VERB? ASK-CONTEXT-ABOUT ASK-CONTEXT-FOR FIND WHAT>>>
|
||||
%<XTELL "\"I'm not sure what you're talking about.\"" CR>)>>
|
||||
<TELL "\"I'm not sure what you're talking about.\"" CR>)>>
|
||||
|
||||
<OBJECT FLOOR
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -65,7 +65,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<PERFORM ,PRSA ,TEST-TANK>
|
||||
<RTRUE>)>)
|
||||
(<VERB? EXAMINE SEARCH LOOK-ON>
|
||||
%<XTELL "You don't find anything new there." CR>)>>
|
||||
<TELL "You don't find anything new there." CR>)>>
|
||||
|
||||
<OBJECT IU-GLOBAL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -108,7 +108,7 @@ to the family name with your own unique inventions.")>
|
||||
;"I-SNARK-ATTACKS provides output."
|
||||
<RTRUE>)
|
||||
(<AND <VERB? FIND> <NOT ,MONSTER-GONE>>
|
||||
%<XTELL "It's attacking the " D ,AQUADOME "!" CR>
|
||||
<TELL "It's attacking the " D ,AQUADOME "!" CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT GLOBAL-WEAPON
|
||||
@@ -137,16 +137,16 @@ to the family name with your own unique inventions.")>
|
||||
<TELL "The " D .OBJ " is mounted on " A ,CLAW "." CR>>
|
||||
|
||||
<ROUTINE CANT-SEND ()
|
||||
%<XTELL "You can't send it. Only you can pilot it there." CR>>
|
||||
<TELL "You can't send it. Only you can pilot it there." CR>>
|
||||
|
||||
<ROUTINE LOCAL-SUB-F ()
|
||||
<COND (<VERB? PUT> <MORE-SPECIFIC>)
|
||||
<COND (<VERB? PUT TURN> <MORE-SPECIFIC>)
|
||||
(<VERB? SEARCH SEARCH-FOR>
|
||||
<DO-INSTEAD-OF ,SUB ,LOCAL-SUB>
|
||||
<RTRUE>)
|
||||
(<VERB? EXAMINE>
|
||||
<COND (<AND <NOT <GET ,ON-SUB 0>> <NOT <GET ,ON-SUB 1>>>
|
||||
%<XTELL <GETP ,LOCAL-SUB ,P?TEXT>
|
||||
<TELL <GETP ,LOCAL-SUB ,P?TEXT>
|
||||
;"(You'll find that information in your SEASTALKER package.)" CR>
|
||||
<RTRUE>)>
|
||||
<COND (<GET ,ON-SUB 0>
|
||||
@@ -156,7 +156,7 @@ to the family name with your own unique inventions.")>
|
||||
<RTRUE>)
|
||||
(<VERB? FIND>
|
||||
<DISABLE <INT I-SEND-SUB>>
|
||||
%<XTELL "It's right here!" CR>)
|
||||
<TELL "It's right here!" CR>)
|
||||
(<OR <VERB? LOOK-BEHIND>
|
||||
<AND <VERB? LOOK-OUTSIDE> <EQUAL? ,HERE ,SUB>>>
|
||||
<PERFORM ,V?LOOK-OUTSIDE ,SUB-WINDOW>
|
||||
@@ -199,14 +199,14 @@ to the family name with your own unique inventions.")>
|
||||
<PERFORM ,PRSA ,SUB-DOOR>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? ANALYZE> <EQUAL? ,PRSI ,DAMAGE ,GLOBAL-SABOTAGE <>>>
|
||||
%<XTELL "You can do this by pushing the " D ,TEST-BUTTON>
|
||||
<TELL "You can do this by pushing the " D ,TEST-BUTTON>
|
||||
<COND (<NOT <EQUAL? ,HERE ,SUB ,CRAWL-SPACE>>
|
||||
<TELL " on the " D ,CONTROLS " inside">)>
|
||||
<TELL "." CR>)
|
||||
(<VERB? LAMP-ON>
|
||||
<COND (<NOT <EQUAL? ,HERE ,SUB ;,CRAWL-SPACE>>
|
||||
<THIS-IS-IT ,SUB>
|
||||
%<XTELL "You have to be in the " D ,SUB " to start it." CR>)
|
||||
<TELL "You have to be in the " D ,SUB " to start it." CR>)
|
||||
;(<EQUAL? ,HERE ,CRAWL-SPACE>
|
||||
<THIS-IS-IT ,SUB>
|
||||
<TELL "You have to be in the pilot's seat to start it." CR>)
|
||||
@@ -231,7 +231,7 @@ to the family name with your own unique inventions.")>
|
||||
<THIS-IS-IT ,ENGINE>
|
||||
<TELL "The engine is off!" CR>)
|
||||
(T
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You can do this by setting the throttle to the speed you want (slow,
|
||||
medium, or fast) and by moving the " D ,JOYSTICK
|
||||
" in the " D ,INTDIR " you wish to go." CR
|
||||
@@ -240,11 +240,11 @@ medium, or fast) and by moving the " D ,JOYSTICK
|
||||
(<VERB? STOP>
|
||||
<COND (<NOT <EQUAL? ,HERE ,SUB ;,CRAWL-SPACE>>
|
||||
<THIS-IS-IT ,SUB>
|
||||
%<XTELL "You have to be in the " D ,SUB " to stop it." CR>)
|
||||
<TELL "You have to be in the " D ,SUB " to stop it." CR>)
|
||||
;(<EQUAL? ,HERE ,CRAWL-SPACE>
|
||||
<TELL "You have to be in the pilot's seat to stop it." CR>)
|
||||
(<NOT <FSET? ,ENGINE ,ONBIT>>
|
||||
%<XTELL "The engine is off!" CR>)
|
||||
<TELL "The engine is off!" CR>)
|
||||
(T ;<EQUAL? ,SUB-DEPTH ,TARGET-DEPTH>
|
||||
<SETG TARGET-DEPTH ,SUB-DEPTH>
|
||||
<TELL ,I-ASSUME " close the " D ,THROTTLE ".)" CR>
|
||||
@@ -282,7 +282,7 @@ your present depth." CR>)>)>>
|
||||
<OR <VERB? FIND>
|
||||
<AND <VERB? ASK-ABOUT> <FSET? ,PRSO ,PERSON>>>>
|
||||
<DISABLE <INT I-SEND-SUB>>
|
||||
%<XTELL "The only sub at">
|
||||
<TELL "The only sub at">
|
||||
<RESEARCH-LAB>
|
||||
<TELL " is your new " D ,GLOBAL-SUB ".
|
||||
It's located in the test tank just south of " D ,YOUR-LABORATORY "." CR>)
|
||||
@@ -311,16 +311,16 @@ It's located in the test tank just south of " D ,YOUR-LABORATORY "." CR>)
|
||||
<RTRUE>)
|
||||
(<EQUAL? ,HERE ,WEST-TANK-AREA>
|
||||
<COND (<VERB? EXAMINE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"These are valves, gauges and control gear needed to make full use of
|
||||
the tank. Two important controls are the " D ,OPEN-GATE-BUTTON " and the
|
||||
" D ,FILL-TANK-BUTTON ". This gear can be operated by remote control
|
||||
from all " LN " subs." CR>)>)>>
|
||||
|
||||
<ROUTINE PHONE-ON (PERSON PWHERE ON ;WHERE)
|
||||
<SETG REMOTE-PERSON .PERSON>
|
||||
<SETG QCONTEXT .PERSON>
|
||||
<THIS-IS-IT .PERSON>
|
||||
<ROUTINE PHONE-ON (PER PWHERE ON ;WHERE)
|
||||
<SETG REMOTE-PERSON .PER>
|
||||
<SETG QCONTEXT .PER>
|
||||
<THIS-IS-IT .PER>
|
||||
<SETG REMOTE-PERSON-REMLOC .PWHERE>
|
||||
<SETG REMOTE-PERSON-ON .ON>
|
||||
<SETG REMOTE-PERSON-LOC ,HERE ;.WHERE>
|
||||
@@ -343,7 +343,7 @@ from all " LN " subs." CR>)>)>>
|
||||
|
||||
<ROUTINE INTERCOM-F ("AUX" P L)
|
||||
<COND (<VERB? LAMP-ON SAY-INTO>
|
||||
%<XTELL "Try the command: CALL (someone) ON THE INTERCOM." CR>)
|
||||
<TELL "Try the command: CALL (someone) ON THE INTERCOM." CR>)
|
||||
(<VERB? PHONE>
|
||||
<COND (<FSET? ,PRSO ,PERSON>
|
||||
<SET P <GET ,CHARACTER-TABLE <GETP ,PRSO ,P?CHARACTER>>>
|
||||
@@ -447,11 +447,6 @@ D ,ESCAPE-POD-UNIT " is not properly connected.">)
|
||||
(SYNONYM SUPPLY)
|
||||
(TEXT "(You'll find that information in your SEASTALKER package.)")>
|
||||
|
||||
;<OBJECT LIGHTS
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "lights")
|
||||
(SYNONYM LIGHT LIGHTS)>
|
||||
|
||||
<OBJECT DISTRESS-CALL
|
||||
(IN GLOBAL-OBJECTS)
|
||||
(DESC "distress call")
|
||||
@@ -501,7 +496,7 @@ D ,ESCAPE-POD-UNIT " is not properly connected.">)
|
||||
(T <TELL "It's not ringing!" CR>)>)>>
|
||||
|
||||
<ROUTINE WHY-NOT-VP ()
|
||||
%<XTELL "Why not turn on the " D ,VIDEOPHONE "?" CR>>
|
||||
<TELL "Why not turn on the " D ,VIDEOPHONE "?" CR>>
|
||||
|
||||
<OBJECT VIDEOPHONE
|
||||
(IN LOCAL-GLOBALS)
|
||||
@@ -552,7 +547,7 @@ turn the knob." CR>)
|
||||
<TELL
|
||||
"An " D ,ALARM " on the " D ,VIDEOPHONE " is ringing." CR>)>)
|
||||
(<AND <VERB? ANALYZE> <IOBJ? GLOBAL-SABOTAGE> ,SUB-IN-TANK>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"If you wish
|
||||
to determine at once whether any saboteur or other intruder may have
|
||||
penetrated">
|
||||
@@ -568,13 +563,13 @@ penetrated">
|
||||
<RTRUE>)
|
||||
(<REMOTE-VERB?> <RFALSE>)
|
||||
(<NOT <EQUAL? ,HERE ,CENTER-OF-LAB ,COMM-BLDG>>
|
||||
%<XTELL "You must be in the ">
|
||||
<TELL "You must be in the ">
|
||||
<COND (,SUB-IN-TANK <TELL D ,CENTER-OF-LAB>)
|
||||
(T <TELL D ,COMM-BLDG>)>
|
||||
<TELL " to do that." CR>)
|
||||
(<VERB? ADJUST FIX TURN>
|
||||
<COND (<FSET? ,VIDEOPHONE ,MUNGBIT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You can't fix the " D ,VIDEOPHONE " until you know what is wrong.
|
||||
The simplest way to find out is to consult your "LN" " D ,COMPUTESTOR ",
|
||||
which is programmed to troubleshoot many of your inventions.
|
||||
@@ -591,7 +586,7 @@ D ,GLOBAL-TECHNICIAN "." CR>
|
||||
<PHONE-ON ,GLOBAL-BLY ,AQUADOME ,VIDEOPHONE>
|
||||
;<ENABLE <QUEUE I-SHARON-TO-HALLWAY 12>>
|
||||
<THIS-IS-IT ,PROBLEM>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Ah, that's better! You recognize the woman as " D ,BLY ", who's in
|
||||
charge of the " ,URS " of " D ,IU-GLOBAL ", called
|
||||
the " D ,AQUADOME ", just off the Atlantic coast. \"" FN "! " FN "!\" she's
|
||||
@@ -612,10 +607,11 @@ saying. \"This is the " D ,AQUADOME " calling">
|
||||
<RTRUE>)
|
||||
(T
|
||||
<PHONE-OFF>
|
||||
%<XTELL "The screen goes dark." CR>)>)
|
||||
<TELL "The screen goes dark." CR>)>)
|
||||
(<AND <VERB? LAMP-ON REPLY> ,SUB-IN-TANK>
|
||||
<COND (<FSET? ,VIDEOPHONE ,ONBIT>
|
||||
<ALREADY ,VIDEOPHONE "on">)
|
||||
<ALREADY ,VIDEOPHONE "on">
|
||||
<RTRUE>)
|
||||
(<OR <FSET? ,CIRCUIT-BREAKER ,OPENBIT>
|
||||
<FSET? ,VIDEOPHONE ,MUNGBIT>>
|
||||
<TELL "You can't. It's conked out." CR>
|
||||
@@ -627,17 +623,17 @@ saying. \"This is the " D ,AQUADOME " calling">
|
||||
<QUEUE I-ALARM-RINGING 0>
|
||||
<SETG WOMAN-ON-SCREEN T>
|
||||
<THIS-IS-IT ,GLOBAL-BLY>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"As the " D ,ALARM " stops ringing, a picture of a woman holding a " D
|
||||
,MICROPHONE " appears, and you can hear her voice from the speaker. But
|
||||
both sound and picture are fuzzy." CR>
|
||||
<SCORE-OBJ ,VIDEOPHONE>
|
||||
<RTRUE>)
|
||||
(T %<XTELL "A test pattern appears." CR>)>)
|
||||
(T <TELL "A test pattern appears." CR>)>)
|
||||
(<VERB? PHONE>
|
||||
<COND (<OR ,WOMAN-ON-SCREEN
|
||||
<EQUAL? ,REMOTE-PERSON-ON ,VIDEOPHONE>>
|
||||
%<XTELL "You should finish talking with ">
|
||||
<TELL "You should finish talking with ">
|
||||
<COND (,WOMAN-ON-SCREEN <TELL "the woman">)
|
||||
(T <TELL D ,REMOTE-PERSON>)>
|
||||
<TELL " first." CR>
|
||||
@@ -646,7 +642,7 @@ both sound and picture are fuzzy." CR>
|
||||
<TELL "There's no answer." CR>)
|
||||
(<AND <DOBJ? AQUADOME GLOBAL-BLY> ,SUB-IN-TANK>
|
||||
<COND (,BLY-TOLD-PROBLEM
|
||||
%<XTELL
|
||||
<TELL
|
||||
"There's no answer. The crew must be busy with the " D ,SNARK "." CR>
|
||||
<RTRUE>)
|
||||
(,ALARM-RINGING
|
||||
@@ -731,7 +727,7 @@ both sound and picture are fuzzy." CR>
|
||||
<PERFORM ,V?LOOK-OUTSIDE ,SUB-WINDOW>
|
||||
<RTRUE>)>)
|
||||
(<VERB? SWIM THROUGH>
|
||||
%<XTELL "This is no time for a swim, " FN "!" CR>)>>
|
||||
<TELL "This is no time for a swim, " FN "!" CR>)>>
|
||||
|
||||
<OBJECT SEA
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -751,11 +747,11 @@ both sound and picture are fuzzy." CR>
|
||||
<COND (<OR ,SUB-IN-DOME
|
||||
,SUB-IN-OPEN-SEA
|
||||
<==? ,NOW-TERRAIN ,SEA-TERRAIN>>
|
||||
%<XTELL "You're in it!" CR>)
|
||||
<TELL "You're in it!" CR>)
|
||||
(<EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The nautical chart in your SEASTALKER package should help." CR>)
|
||||
(T %<XTELL "First you must get in the " D ,SUB "." CR>)>)>>
|
||||
(T <TELL "First you must get in the " D ,SUB "." CR>)>)>>
|
||||
|
||||
<OBJECT HER
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -821,7 +817,7 @@ both sound and picture are fuzzy." CR>
|
||||
|
||||
<ROUTINE GLOBAL-HERE-F ("AUX" (FLG <>) F HR TIM VAL)
|
||||
<COND (<VERB? KNOCK>
|
||||
%<XTELL "Knocking on the walls reveals nothing unusual." CR>)
|
||||
<TELL "Knocking on the walls reveals nothing unusual." CR>)
|
||||
(<VERB? PUT TIE-TO>
|
||||
<MORE-SPECIFIC>)
|
||||
(<VERB? SEARCH EXAMINE>
|
||||
@@ -831,25 +827,25 @@ both sound and picture are fuzzy." CR>
|
||||
<SET TIM 3>)
|
||||
(T <SET TIM <+ 2 <GETP ,HERE ,P?SIZE>>>)>
|
||||
<COND (<==? ,P-ADVERB ,W?CAREFULLY> <SET TIM <* 2 .TIM>>)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"(It's better to examine or search one thing at a time. It would take a
|
||||
long time to search a whole room or area thoroughly. A ">
|
||||
<COND (<==? ,P-ADVERB ,W?CAREFULLY> <TELL "careful">)
|
||||
(T <TELL "brief">)>
|
||||
%<XTELL " search would take
|
||||
<TELL " search would take
|
||||
" N .TIM " turns, and it might not reveal much. Would you like
|
||||
to do it anyway?)">
|
||||
<COND (<YES?>
|
||||
<COND (<==? ,M-FATAL <SET VAL <INT-WAIT .TIM>>>
|
||||
<RTRUE>)
|
||||
(.VAL
|
||||
%<XTELL "Your "
|
||||
<TELL "Your "
|
||||
<COND (<==? ,P-ADVERB ,W?CAREFULLY>
|
||||
"careful")
|
||||
(T "brief")>
|
||||
" search reveals nothing exciting." CR>)
|
||||
(T
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You didn't finish looking over the place." CR>)>)
|
||||
(T <TELL "Okay." CR>)>)
|
||||
(<VERB? WHAT ANALYZE ;ASK-ABOUT>
|
||||
@@ -878,14 +874,14 @@ to do it anyway?)">
|
||||
|
||||
<ROUTINE AIR-F ()
|
||||
<COND (<VERB? EXAMINE>
|
||||
%<XTELL "You can see through the air around you." CR>)
|
||||
<TELL "You can see through the air around you." CR>)
|
||||
(<VERB? WALK-TO>
|
||||
<TELL "It's all around you!" CR>)
|
||||
(<VERB? SMELL>
|
||||
<COND ;(<OUTSIDE? ,HERE>
|
||||
%<XTELL "The air is clear and fresh." CR>)
|
||||
<TELL "The air is clear and fresh." CR>)
|
||||
(<FRESH-AIR? ,HERE> <RTRUE>)
|
||||
(T %<XTELL "The air is rather musty." CR>)>)>>
|
||||
(T <TELL "The air is rather musty." CR>)>)>>
|
||||
|
||||
<ROUTINE GENERIC-TANK-F (OBJ)
|
||||
<COND ;(<VERB? LEAVE>
|
||||
@@ -927,7 +923,7 @@ to do it anyway?)">
|
||||
(<EQUAL? ,NOW-TERRAIN ,BAY-TERRAIN>
|
||||
<TOO-FAR-AWAY ,TEST-TANK>)
|
||||
(<NOT ,SUB-IN-TANK>
|
||||
%<XTELL "You're nowhere near">
|
||||
<TELL "You're nowhere near">
|
||||
<RESEARCH-LAB>
|
||||
<TELL "!" CR>)
|
||||
(<AND <OR <NOT <EQUAL? ,HERE ,SUB>> <NOT ,SUB-IN-TANK>>
|
||||
@@ -936,15 +932,15 @@ to do it anyway?)">
|
||||
;<SETG P-WON <>>
|
||||
<NOT-HERE ,TEST-TANK>)
|
||||
(<VERB? BOARD>
|
||||
%<XTELL "That won't do any good." CR>)
|
||||
<TELL "That won't do any good." CR>)
|
||||
(<VERB? ;DROP LEAVE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You can either walk north, or get in the " D ,SUB " and go east." CR>)
|
||||
(<VERB? ANALYZE EXAMINE LOOK-INSIDE>
|
||||
<FILL-TANK-BUTTON-F>)
|
||||
(<AND <VERB? EMPTY FILL>
|
||||
<NOT <EQUAL? ,HERE ,WEST-TANK-AREA ,SUB>>>
|
||||
%<XTELL "You'll have to go west to do that." CR>
|
||||
<TELL "You'll have to go west to do that." CR>
|
||||
<RTRUE>)
|
||||
(<VERB? EMPTY>
|
||||
<COND (<FSET? ,TANK-GATE ,OPENBIT>
|
||||
@@ -961,12 +957,12 @@ to do it anyway?)">
|
||||
<ALREADY ,TEST-TANK "full">)
|
||||
(T
|
||||
<SETG TEST-TANK-FULL T>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The " D ,GLOBAL-WATER " quickly fills the tank, up to the level of the
|
||||
walkway." CR>)>)
|
||||
(<VERB? OPEN CLOSE> <PERFORM ,PRSA ,TANK-GATE> <RTRUE>)
|
||||
(<VERB? SWIM THROUGH>
|
||||
%<XTELL "This is no time for a swim, " FN "!" CR>)>>
|
||||
<TELL "This is no time for a swim, " FN "!" CR>)>>
|
||||
|
||||
<OBJECT FILL-TANK-BUTTON
|
||||
(IN LOCAL-GLOBALS ;SUB)
|
||||
@@ -1011,14 +1007,14 @@ walkway." CR>)>)
|
||||
<GLOBAL OPENED-GATE-FROM-SUB <>>
|
||||
<ROUTINE TANK-GATE-F ()
|
||||
<COND (<VERB? FIND>
|
||||
%<XTELL "It's on the east wall of the test tank." CR>)
|
||||
<TELL "It's on the east wall of the test tank." CR>)
|
||||
(<REMOTE-VERB?> <RFALSE>)
|
||||
(<AND <NOT <EQUAL? ,HERE ,SUB>>
|
||||
<NOT <IN-TANK-AREA? ,HERE>>>
|
||||
;<SETG P-WON <>>
|
||||
<NOT-HERE ,TANK-GATE>)
|
||||
(<VERB? ANALYZE EXAMINE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"This gate "
|
||||
<COND (<FSET? ,TANK-GATE ,OPENBIT> "is") (T "can be")>
|
||||
" raised to
|
||||
@@ -1027,7 +1023,7 @@ be raised or lowered by wall controls or by remote control from
|
||||
all " LN " subs." CR>)
|
||||
(<VERB? OPEN CLOSE RAISE DROP>
|
||||
<COND (<NOT <EQUAL? ,HERE ,WEST-TANK-AREA ,SUB>>
|
||||
%<XTELL "You'll have to go west to do that." CR>
|
||||
<TELL "You'll have to go west to do that." CR>
|
||||
<RTRUE>)>
|
||||
<OPEN-CLOSE-GATE ,TANK-GATE ,TEST-TANK-FULL ,TEST-TANK>)>>
|
||||
|
||||
@@ -1085,7 +1081,7 @@ all " LN " subs." CR>)
|
||||
|
||||
<ROUTINE AIRLOCK-HATCH-F ()
|
||||
<COND (<VERB? FIND>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"It's on the south wall of the " D ,AQUADOME " " D ,AIRLOCK "." CR>)
|
||||
(<REMOTE-VERB?> <RFALSE>)
|
||||
(<AND <OR <NOT ,SUB-IN-DOME>
|
||||
@@ -1093,7 +1089,7 @@ all " LN " subs." CR>)
|
||||
<NOT <SUB-OUTSIDE-AIRLOCK?>>>
|
||||
<TOO-FAR-AWAY ,AIRLOCK-HATCH>)
|
||||
(<NOT <0? ,SNARK-ATTACK-COUNT>>
|
||||
%<XTELL "It's too late now! The machinery is jammed!" CR>)
|
||||
<TELL "It's too late now! The machinery is jammed!" CR>)
|
||||
(<VERB? OPEN CLOSE RAISE DROP>
|
||||
<OPEN-CLOSE-GATE ,AIRLOCK-HATCH ,AIRLOCK-FULL ,AIRLOCK>)>>
|
||||
|
||||
@@ -1103,7 +1099,7 @@ all " LN " subs." CR>)
|
||||
<ALREADY .GATE "open">
|
||||
<RTRUE>)
|
||||
(<NOT .FULL>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You'd better fill the " D .TANK " first, unless you want to go surfing!" CR>
|
||||
<RTRUE>)
|
||||
(T
|
||||
@@ -1154,7 +1150,7 @@ all " LN " subs." CR>)
|
||||
|
||||
<ROUTINE AIRLOCK-ROOF-F ()
|
||||
<COND (<VERB? FIND>
|
||||
%<XTELL "It covers the " D ,AQUADOME " " D ,AIRLOCK "." CR>)
|
||||
<TELL "It covers the " D ,AQUADOME " " D ,AIRLOCK "." CR>)
|
||||
(<REMOTE-VERB?> <RFALSE>)
|
||||
(<OR <NOT ,SUB-IN-DOME>
|
||||
<AND <NOT <EQUAL? ,HERE ,SUB ,AIRLOCK ,BLY-OFFICE>>
|
||||
@@ -1167,7 +1163,7 @@ all " LN " subs." CR>)
|
||||
(<FSET? ,AIRLOCK-HATCH ,OPENBIT>
|
||||
;<ENABLE <QUEUE I-DOME-FLOODED 2>>
|
||||
<THIS-IS-IT ,AIRLOCK-HATCH>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"A safety mechanism prevents it. The " D ,AIRLOCK-HATCH " is open!" CR>
|
||||
<RTRUE>)>
|
||||
<FSET ,AIRLOCK-ROOF ,OPENBIT>
|
||||
@@ -1186,7 +1182,7 @@ all " LN " subs." CR>)
|
||||
<TELL "." CR>
|
||||
;<DISABLE <INT I-DOME-FLOODED>>
|
||||
<COND (<AND ,GREENUP-ESCAPE <G? 3 ,GREENUP-ESCAPE>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Greenup can't get into the " D ,SUB " and escape any more. ">
|
||||
<GREENUP-CUFF>)>
|
||||
<RTRUE>)>>
|
||||
@@ -1194,7 +1190,7 @@ all " LN " subs." CR>)
|
||||
<OBJECT PRIVATE-MATTER
|
||||
(DESC "private matter")
|
||||
;(IN GLOBAL-OBJECTS)
|
||||
(ADJECTIVE PERSONNEL ;PRIVATELY)
|
||||
(ADJECTIVE PERSONAL ;PRIVATELY)
|
||||
(SYNONYM MATTER)>
|
||||
|
||||
<OBJECT EVIDENCE
|
||||
@@ -1254,7 +1250,7 @@ all " LN " subs." CR>)
|
||||
|
||||
<ROUTINE LAB-ASSISTANT-F ()
|
||||
<COND (<VERB? FIND WALK-TO>
|
||||
<DO-INSTEAD-OF ,LAB-ASSISTANT ,LOWELL>)>>
|
||||
<DO-INSTEAD-OF ,LOWELL ,LAB-ASSISTANT>)>>
|
||||
|
||||
"? Delete this object and put following in local-globals?"
|
||||
<OBJECT DOC-LABORATORY
|
||||
@@ -1267,11 +1263,11 @@ all " LN " subs." CR>)
|
||||
(ACTION DOC-LABORATORY-F)>
|
||||
|
||||
<ROUTINE DOC-LABORATORY-F ()
|
||||
<COND (<OR ,SUB-IN-DOME ;<IN-DOME? ,HERE> <VERB? FIND>>
|
||||
<COND ;"(<OR ,SUB-IN-DOME ;<IN-DOME? ,HERE> <VERB? FIND>>
|
||||
<DO-INSTEAD-OF ,HERE ,DOC-LABORATORY>
|
||||
<RTRUE>)
|
||||
(<VERB? WALK-TO>
|
||||
<PERFORM ,PRSA ,DOME-LAB>
|
||||
<RTRUE>)"
|
||||
(<VERB? WALK-TO THROUGH>
|
||||
<PERFORM ,V?WALK-TO ,DOME-LAB>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT YOUR-LABORATORY
|
||||
@@ -1284,11 +1280,11 @@ all " LN " subs." CR>)
|
||||
(ACTION YOUR-LABORATORY-F)>
|
||||
|
||||
<ROUTINE YOUR-LABORATORY-F ()
|
||||
<COND (<OR <IN-LAB? ,HERE> ;,SUB-IN-TANK <VERB? FIND>>
|
||||
<COND (<OR <IN-LAB? ,HERE> ;",SUB-IN-TANK <VERB? FIND>">
|
||||
<DO-INSTEAD-OF ,HERE ,YOUR-LABORATORY>
|
||||
<RTRUE>)
|
||||
(<VERB? WALK-TO>
|
||||
<PERFORM ,PRSA ,CENTER-OF-LAB>
|
||||
(<VERB? WALK-TO THROUGH>
|
||||
<PERFORM ,V?WALK-TO ,CENTER-OF-LAB>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE GENERIC-LABORATORY-F (OBJ)
|
||||
@@ -1315,7 +1311,7 @@ all " LN " subs." CR>)
|
||||
<VERB? ASK-ABOUT>
|
||||
;<NOT <EQUAL? ,WINNER ,PLAYER>>>>
|
||||
<COND (.X <TELL "\"">)>
|
||||
%<XTELL "I guess you'll have to figure that out, " FN ".">
|
||||
<TELL "I guess you'll have to figure that out, " FN ".">
|
||||
<COND (.X <TELL "\"">)>
|
||||
<CRLF>)>>
|
||||
|
||||
@@ -1323,12 +1319,12 @@ all " LN " subs." CR>)
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "chair")
|
||||
(SYNONYM CHAIR CHAIRS SEAT)
|
||||
(FLAGS NDESCBIT FURNITURE)
|
||||
(FLAGS NDESCBIT ;FURNITURE)
|
||||
(ACTION CHAIR-F)>
|
||||
|
||||
<ROUTINE CHAIR-F ()
|
||||
<COND (<VERB? SIT LOOK-UNDER>
|
||||
%<XTELL "That's just a waste of time." CR>)>>
|
||||
<COND (<VERB? SIT LOOK-UNDER CLIMB-ON CLIMB-DOWN>
|
||||
<TELL "That's just a waste of time." CR>)>>
|
||||
|
||||
<OBJECT UNDERWATER
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -1339,7 +1335,7 @@ all " LN " subs." CR>)
|
||||
|
||||
<ROUTINE UNDERWATER-F ()
|
||||
<COND (<VERB? WALK>
|
||||
%<XTELL "You must be in the " D ,SUB " to do that." CR>)>>
|
||||
<TELL "You must be in the " D ,SUB " to do that." CR>)>>
|
||||
|
||||
<OBJECT GAME
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -1351,7 +1347,7 @@ all " LN " subs." CR>)
|
||||
<ROUTINE GAME-F ()
|
||||
<COND (<VERB? EXAMINE PLAY READ>
|
||||
<SETG P-WON <>>
|
||||
%<XTELL "(You're doing it!)" CR>)>>
|
||||
<TELL "(You're doing it!)" CR>)>>
|
||||
|
||||
<OBJECT SOMETHING
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -1361,7 +1357,7 @@ all " LN " subs." CR>)
|
||||
|
||||
<ROUTINE SOMETHING-F ()
|
||||
<SETG P-WON <>>
|
||||
%<XTELL "(Type a real word instead of " D ,SOMETHING ".)" CR>>
|
||||
<TELL "(Type a real word instead of " D ,SOMETHING ".)" CR>>
|
||||
|
||||
"WARNING: object numbers for LEFT & RIGHT must not equal direction numbers!"
|
||||
|
||||
|
||||
75
hintbk.mss
Normal file
75
hintbk.mss
Normal file
@@ -0,0 +1,75 @@
|
||||
@style (spacing 1)
|
||||
@title (Seastalker: end of hint booklet)
|
||||
@pageheading(DRAFT)
|
||||
|
||||
@majorheading (SEASTALKER: END OF HINT BOOKLET)
|
||||
|
||||
* Just for fun, have you:
|
||||
@begin(itemize)
|
||||
|
||||
read the diagram on the workbench?
|
||||
|
||||
told Tip to leave the sub and then closed the hatch?
|
||||
|
||||
picked up something in an extensor claw before leaving the lab?
|
||||
|
||||
crashed the submarine into the Aquadome?
|
||||
|
||||
taken the electrolyte relay but not screwed it in?
|
||||
|
||||
said "Hello" to anyone on the sonarphone?
|
||||
|
||||
asked anyone besides Doc to fix the gash in your arm?
|
||||
|
||||
tried to shoot the Sea Cat with a tranquilizer dart?
|
||||
|
||||
tried to arrest an object instead of a person?
|
||||
|
||||
tried to clean or wipe anything?
|
||||
|
||||
tried to find someone who's in the same place as you?
|
||||
|
||||
tried to climb the sea wall?
|
||||
|
||||
tried to break down a door?
|
||||
|
||||
tried to enter something that you're holding?
|
||||
|
||||
asked anyone about yourself?
|
||||
|
||||
asked anyone to find you?
|
||||
|
||||
kicked anyone?
|
||||
|
||||
rubbed anyone?
|
||||
|
||||
tried to look inside or under anyone?
|
||||
|
||||
looked up?
|
||||
|
||||
kissed anyone or anything?
|
||||
|
||||
slapped anyone or anything, including yourself or a handcuffed person?
|
||||
|
||||
thrown something at a person and then at an object?
|
||||
|
||||
tried to break a window in the Aquadome?
|
||||
|
||||
tried to turn off a person?
|
||||
|
||||
tried to wake up anyone?
|
||||
|
||||
tried to eat a meal or take the food?
|
||||
|
||||
tried to shoot yourself?
|
||||
|
||||
followed an inanimate object?
|
||||
|
||||
played something?
|
||||
|
||||
typed HELLO SAILOR?
|
||||
|
||||
typed RESTART or RESTORE at the very beginning instead of your name?
|
||||
|
||||
cursed at the program?
|
||||
@end(itemize)
|
||||
673
hintbook.txt
Normal file
673
hintbook.txt
Normal file
@@ -0,0 +1,673 @@
|
||||
|
||||
HINTBOOK FOR SEASTALKER
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Table of Contents
|
||||
|
||||
|
||||
|
||||
Introduction............
|
||||
|
||||
The Lab.................
|
||||
|
||||
The Scimitar............
|
||||
|
||||
The Bay and Ocean.......
|
||||
|
||||
The Aquadome............
|
||||
|
||||
The Battle..............
|
||||
|
||||
How Points are Scored...
|
||||
|
||||
For Your Amusement......
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The Lab
|
||||
|
||||
|
||||
|
||||
Why is the alarm bell ringing?
|
||||
|
||||
A. Someone is trying to contact you.
|
||||
B. Someone is calling the lab on the videophone.
|
||||
C. Have you tried turning off the alarm?
|
||||
D. If you have, then you know you should TURN ON THE VIDEOPHONE.
|
||||
|
||||
|
||||
The picture and sound on the videophone are fuzzy. What should I do?
|
||||
|
||||
A. You could try tuning the videophone.
|
||||
B. Type TUNE THE VIDEOPHONE.
|
||||
|
||||
|
||||
How can I get better reception on the videophone?
|
||||
|
||||
A. Call Frobton Cable Vision and have cable installed. Much better reception, plus lots of movies!
|
||||
|
||||
|
||||
How do I finish my conversation on the videophone?
|
||||
|
||||
A. How do you normally finish a phone conversation?
|
||||
B. Type in SAY "GOOD-BYE"
|
||||
|
||||
|
||||
Why can't I walk away with the microphone?
|
||||
|
||||
A. The cord is too short.
|
||||
|
||||
|
||||
Why did the videophone conk out?
|
||||
|
||||
A. Power failure?
|
||||
B. Someone in the lab shut off the power...
|
||||
C. ... by opening the circuit breaker. Who was it?
|
||||
D. Use the microwave security scanner.
|
||||
E. There are only three people in the lab ...
|
||||
F. ... and you and Tip were in the same room when the videophone conked out.
|
||||
G. That leaves only one person.
|
||||
H. That person is Sharon.
|
||||
|
||||
|
||||
How can I fix the videophone?
|
||||
|
||||
A. Is there a technician nearby?
|
||||
B. If not you may have to fix it yourself.
|
||||
C. Go to the computestor and ask about the videophone.
|
||||
D. Go to the electrical panel and close the circuit breaker.
|
||||
|
||||
|
||||
What is the storage closet used for?
|
||||
|
||||
A. Storage. But you don't have anything to store.
|
||||
B. Nothing.
|
||||
|
||||
|
||||
Why does Tip always follow me around?
|
||||
|
||||
A. He doesn't ALWAYS follow you around.
|
||||
B. He tries to keep you in sight, except when he's working on something.
|
||||
C. He's your pal, and there to help.
|
||||
|
||||
|
||||
Why does Sharon Kemp look embarrassed?
|
||||
|
||||
A. There is something about her you don't know.
|
||||
B. And it has nothing to do with her mother.
|
||||
C. Try reading the article in Tip's magazine.
|
||||
D. Sharon opened the circuit breaker, which made the Videophone conk out. Hmmm...
|
||||
|
||||
|
||||
Is there anything I should look at in the file cabinet?
|
||||
|
||||
A. There seems to be nothing interesting about the papers.
|
||||
B. But there are a lot of them.
|
||||
C. The papers are of no help to you.
|
||||
|
||||
|
||||
How do I get out of the lab building?
|
||||
|
||||
A. Have you tried all the doors in all the rooms?
|
||||
B. There's a door to the parking lot, but you can't open it.
|
||||
C. The only way out is by submarine.
|
||||
|
||||
|
||||
Where is the submarine?
|
||||
|
||||
A. Right where you left it.
|
||||
B. Did you try to FIND it.
|
||||
C. The Scimitar is in the test tank.
|
||||
D. Go south from the lab center, three times.
|
||||
|
||||
|
||||
Why won't the submarine start?
|
||||
|
||||
A. Try asking the COMPUTESTOR.
|
||||
|
||||
|
||||
What should I do with the catalyst capsule?
|
||||
|
||||
A. Don't try to swallow it.
|
||||
B. The capsule powers the Scimitar's plasma-fusion reactor.
|
||||
C. Take the capsule and try inserting it in the reactor.
|
||||
D. PUT THE CAPSULE IN THE REACTOR THEN CLOSE THE REACTOR.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The Scimitar
|
||||
|
||||
|
||||
|
||||
How do I get the Scimitar moving?
|
||||
|
||||
A. Look at the control panel.
|
||||
B. You'll need the catalyst capsule.
|
||||
C. Put the capsule in the reactor.
|
||||
D. Close the reactor.
|
||||
E. Turn on the reactor.
|
||||
F. Close the entry hatch.
|
||||
G. Fill the test tank.
|
||||
H. Open the gate.
|
||||
I. Start the engine.
|
||||
J. Open the throttle.
|
||||
K. Go east.
|
||||
|
||||
|
||||
Should I set my throttle to slow, medium, or fast?
|
||||
|
||||
A. It depends on how quickly you want to reach your destination.
|
||||
B. Remember, the Aquadome is in trouble and your help is needed.
|
||||
C. On the other hand, you haven't fully tested this sub yet.
|
||||
D. Set it to slow the first time you play, then experiment later.
|
||||
|
||||
|
||||
The Scimitar is overheating! What should I do?
|
||||
|
||||
A. If your throttle is set to slow, relax.
|
||||
B. It's not?! Better do something quick!
|
||||
C. Did the program prompt you to press the test button? If so, you know that you should ...
|
||||
D. Adjust the voltage regulator located in the engine crawl space.
|
||||
E. Be careful; it's dangerous.
|
||||
|
||||
|
||||
How do I open the engine access panel?
|
||||
|
||||
A. Read the sign.
|
||||
B. Ask Tip for the Universal Tool.
|
||||
C. Type OPEN THE ACCESS PANEL.
|
||||
|
||||
|
||||
How can I fix the regulator?
|
||||
|
||||
A. Open the engine access panel.
|
||||
B. Enter the engine crawl space.
|
||||
C. Type FIX THE REGULATOR.
|
||||
|
||||
|
||||
How do I keep from disturbing the machinery in the crawl space?
|
||||
|
||||
A. Don't spend any more time than you need in the crawl space.
|
||||
B. When you are in the crawl space, use the word "carefully" in each command. Example: FIX REGULATOR CAREFULLY.
|
||||
C. Enter the crawl space, fix the regulator, then leave.
|
||||
D. The more time you spend in the engine crawl space, the greater your chances of disturbing the machinery.
|
||||
|
||||
|
||||
How do I use the sonarscope?
|
||||
|
||||
A. You can use it only in the bay and near the Aquadome.
|
||||
B. When you look at it, you see a small area around the Scimitar.
|
||||
C. The sonarscope shows obstacles at the same depth as the Scimitar.
|
||||
D. To check for obstacles below you, use the Depth Finder.
|
||||
|
||||
|
||||
How do I use the Depth Finder?
|
||||
|
||||
A. Type EXAMINE THE DEPTH FINDER.
|
||||
B. The Depth Finder tells you how deep you are and how far below you the bottom is.
|
||||
|
||||
|
||||
How do I use the hydrophone?
|
||||
|
||||
A. Type LISTEN TO HYDROPHONE.
|
||||
|
||||
How do I use the temperature gauge?
|
||||
|
||||
A. Type LOOK AT GAUGE.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The Bay and Ocean
|
||||
|
||||
|
||||
|
||||
How do I keep from getting hit by the speedboats?
|
||||
|
||||
A. Duck!
|
||||
B. You can avoid them if you are underwater.
|
||||
C. If you DIVE TO 5 METERS, you will not be hit by the speedboats.
|
||||
|
||||
|
||||
How do I find my way through the bay?
|
||||
|
||||
A. Once you are in the sub and in the bay, you should look at the Sonarscope.
|
||||
B. Use the Sonarscope and the map of Frobton Bay to avoid shoals and safely navigate through the bay.
|
||||
C. Head for the opening in the sea wall.
|
||||
|
||||
|
||||
Ships keep running into Tip and me. What should I do?
|
||||
|
||||
A. Stay out of their way.
|
||||
B. Go around them.
|
||||
C. You're in a submarine -- dive under them.
|
||||
D. You will have to dive to at least 15 meters to avoid the ships' keels, which are 10 meters deep.
|
||||
|
||||
|
||||
Where is the Aquadome?
|
||||
|
||||
A. Ask Commander Bly when you talk to her on the Videophone.
|
||||
B. Ask Tip. He's a sharp guy.
|
||||
C. Look at your map of Frobton Bay.
|
||||
D. The Aquadome can be reached only from the open sea.
|
||||
E. When you reach the open sea, turn on the Autopilot.
|
||||
|
||||
|
||||
What is the Friendly Mermaid trying to tell me?
|
||||
|
||||
A. You left the gas cap off the sub.
|
||||
B. She's telling you the directions to the Aquadome.
|
||||
C. But it's very hard to hear her ...
|
||||
D. ... because there is no Friendly Mermaid in this game. Remember, some of these questions and answers are fakes. Don't assume the absense or presents of a question means it's important. Also don't assume long answers are always associated with important questions.
|
||||
E. Because that was hardly the case here!
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The Aquadome
|
||||
|
||||
|
||||
|
||||
How do I enter the Aquadome?
|
||||
|
||||
A. When the autopilot shuts off, type DOCK.
|
||||
|
||||
|
||||
Why is everyone having trouble breathing?
|
||||
|
||||
A. Did you remember to use your mouth-wash this morning?
|
||||
B. There must be something wrong with the air.
|
||||
C. I hope you have your emergency oxygen gear.
|
||||
D. Even if you do have it, you should find out what is wrong with the air supply system.
|
||||
|
||||
|
||||
How can I fix the air supply system?
|
||||
|
||||
A. First you must OPEN THE DOOR WITH THE UNIVERSAL TOOL.
|
||||
B. If you don't have the Universal Tool, ask Tip for it.
|
||||
C. Something inside has been unscrewed.
|
||||
D. Could it be the electrolyte relay?
|
||||
E. Type TAKE RELAY AND SCREW IT INTO THE EMPTY SPACE.
|
||||
|
||||
|
||||
Where is the Fram Bolt wrench?
|
||||
|
||||
A. Did you read the sign?
|
||||
B. It should be on the hook.
|
||||
C. Someone misplaced the Fram Bolt wrench.
|
||||
D. It might have been the same person who unscrewed the electrolyte relay.
|
||||
|
||||
|
||||
Now that I am at the Aquadome, what should I do?
|
||||
|
||||
A. When Commander Bly asks if she can speak to you in private, you should say yes.
|
||||
B. Once Commander Bly starts telling you about the problems at the Aquadome, you will have an idea what you should do.
|
||||
|
||||
|
||||
Is the "black box" useful for anything?
|
||||
|
||||
A. Yes.
|
||||
B. Try opening the black box.
|
||||
C. Any time after Commander Bly tells you about the "black box" ask Tip about his idea.
|
||||
|
||||
|
||||
Should I let Mick examine my sub?
|
||||
|
||||
A. Yes.
|
||||
B. You really don't have any choice.
|
||||
|
||||
|
||||
Why does Commander Bly want to talk to me?
|
||||
|
||||
A. She has something important to tell you.
|
||||
B. When Commander Bly asks for a word in private, go with her.
|
||||
C. When she tells you she has evidence, ASK HER ABOUT THE EVIDENCE.
|
||||
D. The "black box" is her evidence.
|
||||
|
||||
|
||||
Do I need the emergency survival unit?
|
||||
|
||||
A. It would come in handy if there were an emergency.
|
||||
B. You also need it installed to get all the points in the game.
|
||||
|
||||
What is that "oddly shaped metallic object"?
|
||||
|
||||
A. It's the Fram Bolt wrench.
|
||||
B. It's supposed to be hanging on the hook next to the air supply system.
|
||||
C. In case of an emergency, you would need the Fram Bolt wrench to repair the air supply system.
|
||||
D. Someone took the Fram Bolt wrench from the hook and dropped it under Commander Bly's desk.
|
||||
E. It was the same person who sabotaged the air supply system by unscrewing the electrolyte relay.
|
||||
|
||||
|
||||
What happened to the Air Supply System?
|
||||
|
||||
A. Someone unscrewed the Electrolyte Relay, causing the system to malfunction ...
|
||||
B. ... and that someone also took the Fram Bolt Wrench so no one could repair the Air Supply System.
|
||||
|
||||
|
||||
Is Commander Bly in love with anyone?
|
||||
|
||||
A. No.
|
||||
B. But might someone else be in love with her?
|
||||
C. Have you checked personal storage areas?
|
||||
D. Including the lockers?
|
||||
E. Did you read the diary?
|
||||
F. Then you know Doc Horvak is in love with Commander Bly.
|
||||
|
||||
|
||||
I found this 'mushy' diary. What should I do with it?
|
||||
|
||||
A. Reading a diary is an invasion of privacy.
|
||||
B. But this is a life-or-death situation.
|
||||
C. Under the circumstances, you should read it.
|
||||
D. Doc Horvak sabotaged the air supply system because he wanted to embarrass Commander Bly.
|
||||
E. Take the diary and the photo and show them to Commander Bly.
|
||||
|
||||
|
||||
Amy Lowell asked to borrow the Scimitar. Should I let her?
|
||||
|
||||
A. Ask her if she has a submariner's license.
|
||||
B. Tell her you promised the Scimitar to Tip for the day.
|
||||
C. Amy never asks to borrow the Scimitar. You must be cheating.
|
||||
D. Ask your parents to firmly punish you by ...
|
||||
E. ... buying "Suspended" and making you complete the game before they will feed you again.
|
||||
|
||||
|
||||
What do I do with the dart gun?
|
||||
|
||||
A. Doc Horvak can fix it.
|
||||
B. Doc Horvak will prepare a special tranquilizer for the dart gun, which you can use on the Snark if you need to.
|
||||
C. Show Doc Horvak the magazine that Tip brought along.
|
||||
D. When Doc Horvak asks you what he should do with the dart gun, type DOC, MOUNT DART GUN ON SUB.
|
||||
|
||||
|
||||
What about the "49er" Prospecting Bazooka?
|
||||
|
||||
A. A bazooka seems as if it might come in handy.
|
||||
B. There are several ways to mount the bazooka on the Scimitar.
|
||||
C. One way is to find the bazooka. Take it and mount it on the claw of the Scimitar yourself.
|
||||
D. Or, when Commander Bly asks you if you can think of any high-power weapon, tell her about the bazooka. Get the bazooka, then tell Commander Bly to mount it on the Scimitar.
|
||||
|
||||
|
||||
How do I know when I'm ready to leave the Aquadome?
|
||||
|
||||
A. Commander Bly will ask you if you are ready to take off.
|
||||
|
||||
|
||||
What does the fine grid do?
|
||||
|
||||
A. The fine grid will show objects within 25 meters of the Scimitar. The regular sonar shows objects within 2,500 meters.
|
||||
B. Having the fine grid installed will give you a better picture of objects very near the Scimitar, like the Snark.
|
||||
C. So when Tip asks if he should install it, tell him yes.
|
||||
|
||||
|
||||
Who put the stew in the galley?
|
||||
|
||||
A. Stu Galley?
|
||||
B. The cook?
|
||||
C. What stew? There is no stew in this game.
|
||||
|
||||
|
||||
Is someone trying to kill me?
|
||||
|
||||
A. Have you been killed yet?
|
||||
B. Someone replaced the stimulant in the syringe with poison.
|
||||
C. Someone is trying to kill you.
|
||||
D. Someone who worked on the Scimitar.
|
||||
E. Someone who installed the Emergency Survival Unit.
|
||||
F. Someone who installed the part under your seat.
|
||||
G. Give up?
|
||||
H. That someone is Bill Greenup.
|
||||
|
||||
|
||||
What should I do with the syringe?
|
||||
|
||||
A. Talk to the person who installed the emergency survival unit under your seat.
|
||||
B. Ask that person about the syringe.
|
||||
|
||||
|
||||
Hey, where is Bill Greenup going and how can I stop him?
|
||||
|
||||
A. If you don't know why Bill is running away, don't develop any more of the answers for this question until you do.
|
||||
B. Bill is running away because you know he tried to kill you.
|
||||
C. One way to stop him is to close the Docking Tank roof when he first appears on the station monitor.
|
||||
D. Another way is to turn off the Docking Tank electricity
|
||||
. Then he won't be able to open the gate and escape in the Scimitar.
|
||||
D. Another way to stop Bill is to flood the Docking Tank before he enters the Scimitar.
|
||||
|
||||
|
||||
I'm ready to leave the Aquadome. What should I do?
|
||||
|
||||
A. Remember what you had to do to leave the Lab's Test Tank?
|
||||
B. Flood the tank, open the gate, start the engine, open the throttle and go south.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
The Battle
|
||||
|
||||
|
||||
|
||||
Where's the Snark?
|
||||
|
||||
A. Try asking Commander Bly.
|
||||
B. Or any of the crew members.
|
||||
C. Go southeast from the Aquadome.
|
||||
|
||||
|
||||
We have spotted a cloud of silt ahead. Should we continue?
|
||||
|
||||
A. It might be the Snark. Are you prepared to deal with it?
|
||||
B. Yes, you should continue.
|
||||
C. Besides, you don't have any choice.
|
||||
|
||||
|
||||
How did Sharon get in the Seacat?
|
||||
|
||||
A. Hitch-hiked?
|
||||
B. Dr. Thorpe picked her up at the Research Lab.
|
||||
|
||||
|
||||
Is Sharon a traitor?
|
||||
|
||||
A. She opened the circuit breaker, didn't she?
|
||||
B. She left the catalyst capsule out of the Scimitar, didn't she?
|
||||
C. And now she is in the Seacat with the man who is trying to kill you. What do you think?
|
||||
D. Try saying something to her over the sonarphone.
|
||||
E. Of course she isn't a traitor. She was just playing along with Dr. Thorpe in the hope of stopping him.
|
||||
|
||||
|
||||
Is Tip a traitor?
|
||||
|
||||
A. Tip, your good-buddy, pal and friend, a traitor?
|
||||
B. Tip, who has stood by you in this game while you killed both yourself and him many times, a traitor?
|
||||
C. No way. You should be ashamed of yourself for even developing the answers to this question.
|
||||
D. You owe Tip an apology.
|
||||
|
||||
|
||||
Are you a traitor?
|
||||
|
||||
A. Why are you wasting your developing fluid on this answer.
|
||||
B. Go ahead and develop, there's plenty of fluid.
|
||||
C. And plenty more dumb answers.
|
||||
D. See, I told you.
|
||||
E. You can stop now.
|
||||
F. Some people never learn!
|
||||
G. Absolutely never!!!
|
||||
|
||||
|
||||
Why can't I get around the Snark?
|
||||
|
||||
A. The Snark and the Seacat are moving too fast?
|
||||
B. Maybe you should move faster.
|
||||
C. Try setting the throttle to medium.
|
||||
D. Better yet, try setting the throttle to fast.
|
||||
|
||||
|
||||
What should I do with the dart?
|
||||
|
||||
A. You could tranquilize the Snark.
|
||||
B. Or maybe that isn't such a good idea.
|
||||
C. If you tranquilize the Snark there won't be much to stop Dr. Thorpe from blasting you with his rocket.
|
||||
|
||||
|
||||
What should I do with the bazooka?
|
||||
|
||||
A. You could try shooting the Snark.
|
||||
B. But the Snark has tremedous scientific value, so it would be a waste to shoot it.
|
||||
C. Another good reason not to shoot the Snark with the bazooka is that then Dr. Thorpe will have a clear shot at you!
|
||||
D. So why not shoot the Seacat's Power Pod and disable it?
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
How Points are Scored
|
||||
|
||||
(use as a last resort)
|
||||
|
||||
|
||||
|
||||
Points / Actions
|
||||
|
||||
1 Turning on the videophone.
|
||||
|
||||
1 Tuning the videophone.
|
||||
|
||||
1 Picking up the microphone.
|
||||
|
||||
-3 The circuit breaker is opened.
|
||||
|
||||
3 Closing the circuit breaker.
|
||||
|
||||
5 Taking the catalyst capsule.
|
||||
|
||||
1 Entering the Scimitar.
|
||||
|
||||
5 Starting the reactor.
|
||||
|
||||
5 Starting the engine.
|
||||
|
||||
5 Entering Frobton Bay.
|
||||
|
||||
5 Entering the ocean.
|
||||
|
||||
5 Turning on the autopilot.
|
||||
|
||||
5 Docking at the Aquadome.
|
||||
|
||||
5 Opening the air supply system.
|
||||
|
||||
5 Screwing in the electrolyte relay.
|
||||
|
||||
5 Having the emergency survival unit installed.
|
||||
|
||||
5 Arresting Bill Greenup.
|
||||
|
||||
5 Capturing Bill Greenup.
|
||||
|
||||
5 Having Doc Horvak fix the dart gun.
|
||||
|
||||
5 Installing the dart gun.
|
||||
|
||||
5 Taking the bazooka.
|
||||
|
||||
5 Installing the bazooka.
|
||||
|
||||
1 Leaving the Aquadome.
|
||||
|
||||
5 Finding the Snark.
|
||||
|
||||
5 Aiming the bazooka at the Seacat.
|
||||
|
||||
5 Firing the bazooka at the Seacat.
|
||||
|
||||
-----
|
||||
|
||||
100 Total
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
For Your Amusement
|
||||
|
||||
Have you...
|
||||
|
||||
|
||||
read the diagram on the workbench?
|
||||
|
||||
told Tip to leave the sub and then closed the hatch?
|
||||
|
||||
picked up something in an extensor claw before leaving the lab?
|
||||
|
||||
crashed the Scimitar into the Aquadome?
|
||||
|
||||
taken the electrolyte relay but not screwed it in?
|
||||
|
||||
said "Hello" to anyone on the sonarphone?
|
||||
|
||||
asked anyone besides Doc Horvak to fix the gash in your arm?
|
||||
|
||||
tried to shoot the Seacat with a tranquilizer dart?
|
||||
|
||||
tried to arrest an object instead of a person?
|
||||
|
||||
tried to clean or wipe anything?
|
||||
|
||||
tried to find someone who's in the same place as you?
|
||||
|
||||
tried to climb the sea wall?
|
||||
|
||||
tried to break down a door?
|
||||
|
||||
tried to enter something that you're holding?
|
||||
|
||||
asked anyone about yourself?
|
||||
|
||||
asked anyone to find you?
|
||||
|
||||
kicked anyone?
|
||||
|
||||
rubbed anyone?
|
||||
|
||||
tried to look inside or under anyone?
|
||||
|
||||
looked up?
|
||||
|
||||
kissed anyone or anything?
|
||||
|
||||
slapped anyone or anything, including yourself or a handcuffed person?
|
||||
|
||||
thrown something at a person and then at an object?
|
||||
|
||||
tried to break a window in the Aquadome?
|
||||
|
||||
tried to turn off a person?
|
||||
|
||||
tried to wake up anyone?
|
||||
|
||||
tried to eat a meal or take the food?
|
||||
|
||||
tried to shoot yourself?
|
||||
|
||||
followed an inanimate object?
|
||||
|
||||
played something?
|
||||
|
||||
typed HELLO SAILOR?
|
||||
|
||||
typed RESTART or RESTORE at the very beginning instead of your name?
|
||||
|
||||
cursed at the program?
|
||||
|
||||
53
hints.mss
Normal file
53
hints.mss
Normal file
@@ -0,0 +1,53 @@
|
||||
@style (spacing 1)
|
||||
@title (Infocards)
|
||||
@pageheading (DRAFT)
|
||||
@majorheading (INFOCARDS FOR "SEASTALKER")
|
||||
|
||||
Card #1, Hint #1. You'd better look inside that "[black box]".
|
||||
|
||||
Card #1, Hint #2. Tell him about the [overheating problem] we ran into with your new Bioceptor.
|
||||
|
||||
Card #1, Hint #3. "First, one of us puts this black box back on the sonar transducer. Then we'll send [Marv] to check on the sonar system -- and we'll see if he reports the black box!"
|
||||
|
||||
Card #2, Hint #1. Try finding [Horvak's diary]. It's in his locker in the dormitory. [never used]
|
||||
|
||||
Card #2, Hint #2. "Why not ask [Mick] to troubleshoot the @I(Scimitar) and see what he says?"
|
||||
|
||||
Card #2, Hint #3. While you're waiting, do you want to look at the [magazine] that Tip brought along?
|
||||
|
||||
Card #3, Hint #1. A [circuit breaker] has popped open on the Electrical Panel!
|
||||
|
||||
Card #3, Hint #2. The [Videoscope] has never conked out before! It @I(must) be due to sabotage!
|
||||
|
||||
Card #3, Hint #3. Why won't the reactor start? Is the [catalyst capsule] inserted in the reactor? Tip exclaims, "But you told Sharon to put the capsule in, so the @I(Scimitar) would be ready for another test run. I heard you tell her first thing this morning!"
|
||||
|
||||
Card #4, Hint #1. That [electrolyte relay] you screwed back in place is essential to the Air Supply System -- without it, the system would break down in a few minutes! That means someone must have removed it while you were docking in the airlock!
|
||||
|
||||
Card #4, Hint #2. If you can get behind [Thorpe's vehicle], you can shoot its controls, and then he'll be stuck!
|
||||
|
||||
Card #4, Hint #3. "We know what was causing it -- but [Mick] doesn't @I(know) that we know."
|
||||
|
||||
Card #5, Hint #1. You'd better check the [Emergency Survival Unit] under your seat.
|
||||
|
||||
Card #5, Hint #2. The gate isn't open yet -- and it won't respond to a remote-control signal without [electricity]!
|
||||
|
||||
Card #5, Hint #3. Hey! Don't forget your [Emergency Oxygen Gear]!
|
||||
|
||||
Card #6, Hint #1. "Don't bother going thru the sub tool kit," says [Tip]. "I've got one of your Universal Tools in my pocket. Here, use this -- it'll fit anything!"
|
||||
|
||||
Card #6, Hint #2. "The last time we saw the [Snark], it went off to the southeast. I suggest you look in that direction first."
|
||||
|
||||
Card #6, Hint #3. If you can shoot the [tranquilizer dart] at the Snark, then it would still be intact for scientific study. [never used]
|
||||
|
||||
Card #7, Hint #1. "What about a [49-er prospecting bazooka]? If that can drive a stake into bedrock, it can sure put a dent in that sea monster -- or maybe even in an enemy sub!"
|
||||
|
||||
Card #7, Hint #2. "Also, Doc Horvak @I(may) be able to concoct some sort of [tranquilizer] with which to sedate or stun the Snark -- although he fears the huge size of the creature may make this method unreliable."
|
||||
|
||||
Card #7, Hint #3. "We have a prospecting bazooka which could be fitted to the @I(Scimitar)'s [extensor claws]."
|
||||
|
||||
Card #8, Hint #1. The Aquadome needs help desperately! You must take a [submarine] there at once!
|
||||
|
||||
Card #8, Hint #2. Hadn't you better turn on the [Videophone] and answer that alarm call?!
|
||||
|
||||
Card #8, Hint #3. There's no response, because there's no [power].
|
||||
|
||||
4
j1.chart
Normal file
4
j1.chart
Normal file
@@ -0,0 +1,4 @@
|
||||
-date- -rel- -size- -pre- -obj- -glo- -voc-
|
||||
9/19 18 117024 21505 254 229 913
|
||||
9/19 18 116812 21505 254 229 913
|
||||
9/19 18 116802 21505 254 229 913
|
||||
271
j1.mss
Normal file
271
j1.mss
Normal file
@@ -0,0 +1,271 @@
|
||||
@style(spacing 1)
|
||||
@title (TIM QUICK - SUMMARY)
|
||||
@pageheading(DRAFT)
|
||||
|
||||
@majorheading (TIM QUICK AND HIS ULTRAMARINE BIOCEPTOR)
|
||||
@center (by Jim Lawrence)
|
||||
@center (June 1983)
|
||||
@blankspace(5)
|
||||
|
||||
@heading (Opening Scene)
|
||||
|
||||
"Tim, snap out of it!" cries Buzz Berkeley, bursting into
|
||||
the young inventor's private lab. "The red alert
|
||||
signal's flashing on your videoscope!"
|
||||
|
||||
Reluctantly you tear your eyes away from the blueprints
|
||||
and circuit diagrams spread out on your workbench. They're
|
||||
the plans of your newest, top-secret invention--a deep-sea
|
||||
submarine specially designed for capturing rare specimens
|
||||
of marine life on the ocean floor.
|
||||
|
||||
As Buzz's voice shatters your spell of concentration, an
|
||||
alarm bell on the videoscope also begins to ring.
|
||||
|
||||
Obviously someone's trying urgently to get in touch with
|
||||
you over the Quick's private TV communications network!
|
||||
|
||||
@heading (Lab Layout)
|
||||
|
||||
The layout of the lab is as follows---
|
||||
|
||||
On the North wall of the lab, from left to right, is a
|
||||
COMPUTESTOR for troubleshooting any invention, machine
|
||||
or system . . . DOORWAY N (thru which Buzz entered)
|
||||
leading out onto the grounds of Quick Enterprises and
|
||||
the airstrip . . . and a QUICK SPECTROSCOPE for analyzing
|
||||
the chemical makeup of any substance.
|
||||
|
||||
On the East wall of the lab is a MICROWAVE SECURITY
|
||||
SCANNER for detecting the presence on the grounds of
|
||||
QUICK Enterprises of any intruder not equipped with a
|
||||
proper Electronic Identification Amulet . . . DOORWAY E,
|
||||
leading past the Electrical Control Panel to the office
|
||||
of Tim's secretary and lab aide, SHANA KEMP . . . and Tim's
|
||||
DESK, bearing the telephone.
|
||||
|
||||
On the South Wall of the lab are the CHEMICAL SUPPLY
|
||||
SHELVES . . . DOORWAY S, leading to the SUBMARINE TEST PEN,
|
||||
in which Tim's revolutionary new ULTRAMARINE BIOCEPTOR is
|
||||
now resting . . . and the ELECTRONIC SUPPLY SHELVES.
|
||||
|
||||
On the West wall of the lab are the MECHANICAL SUPPLY
|
||||
SHELVES and an array of machine tools and other devices
|
||||
used by Tim in constructing pilot models of his inventions.
|
||||
|
||||
In the center of the lab is Tim's WORKBENCH, with the
|
||||
VIDEOSCOPE and its control knobs in easy reach at his left.
|
||||
|
||||
@heading (First Scene)
|
||||
|
||||
The game begins as the player responds to the red light and
|
||||
alarm bell by turning on the Videoscope. The screen lights
|
||||
up and we see COMMANDER BRENT inside the Quick's Undersea
|
||||
City, called the AQUADOME.
|
||||
|
||||
Brent excitedly reports that a huge monster is attacking
|
||||
the Undersea City, threatening to batter its way thru the
|
||||
transparent plastic shell of the Aquadome, which encloses
|
||||
the city. In fact, as the video camera pans, Tim and Buzz can
|
||||
actually see the monster.
|
||||
|
||||
This creature--which looks like an enormous sea slug with
|
||||
clawed tentacles--has been glimpsed before by Aquadome
|
||||
personnel while exploring the environment outside the
|
||||
Undersea City. They've nicknamed it the SNARK.
|
||||
|
||||
Brent barely has time to plead for immediate help before
|
||||
the picture on the Videoscope collapses, and the screen
|
||||
goes dark again!
|
||||
|
||||
Has something catastrophic happened?! Alarmed, Buzz darts
|
||||
to the Computestor. It immediately pinpoints four possible
|
||||
causes: (1) failure of the transmitting equipment at the
|
||||
Undersea City--(2) a short in the coaxial cable linking the
|
||||
Undersea City and Quick Enterprises--(3) failure of the
|
||||
Video receiver--and (4) sabotage.
|
||||
|
||||
Since the boys can't check (1) or (2) may require
|
||||
lengthy and elaborate testing--Buzz's first impulse is to
|
||||
check out the possibility of sabotage. He suggests that
|
||||
they either activate the Microwave Security Scanner, or
|
||||
else phone SECURITY CHIEF LOU PERELLI to inquire about
|
||||
any signs of a saboteur at work.
|
||||
|
||||
Instead, Tim may simply elect to go thru Doorway E and
|
||||
look at the Electrical Control Panel. If he does so, he'll
|
||||
find that the Video Network's circuit-breaker has popped.
|
||||
Tim closes it, and nothing drastic happens.
|
||||
|
||||
With power restored, the Videoscope screen lights up again.
|
||||
But the incoming signal from the Aquadome is no longer
|
||||
being received. Nor can Tim get any response to repeated
|
||||
calls.
|
||||
|
||||
Meanwhile, as Buzz points out, they still don't know why
|
||||
the circuit-breaker popped. Was there a power overload,
|
||||
or did someone open it to interrupt the signal?
|
||||
|
||||
If Tim takes time to check with Security, Lou Perelli will
|
||||
inform him that they've picked up some disturbing information
|
||||
about his secretary and lab aide, Shana Kemp.
|
||||
|
||||
It will turn out that she manually opened the circuit-breaker
|
||||
to impede Tim's efforts to save the Undersea City from the
|
||||
Snark. If questioned now, she may admit this--either due
|
||||
to panic or belated pangs of conscience. She may also
|
||||
blurt out further information which would be helpful to Tim
|
||||
in later stages of the game.
|
||||
|
||||
However, Tim may not take time to bother with all this.
|
||||
His overriding concern may be for the safety of the
|
||||
Aquadome personnel--and the possible chance of capturing
|
||||
the monstrous Snark, a sub-oceanic equivalent of King Kong.
|
||||
|
||||
His newest invention--the ULTRAMARINE BIOCEPTOR--is
|
||||
obviously the only sub capable of hunting down the monster
|
||||
in its native habitat on the ocean floor. In fact it's
|
||||
the only craft in the Quick submarine fleet which is now
|
||||
at Quick Enterprises and available for an immediate dive.
|
||||
|
||||
However, the UB has performed erratically during tests.
|
||||
This is the problem Tim was working on when the call for
|
||||
help came over the Videoscope. Since the craft is still in
|
||||
the pilot-model stage and hasn't been perfected, the
|
||||
Computestor has not yet been programmed to troubleshoot it
|
||||
--it can only check out sub-assemblies or sub-systems of
|
||||
the craft.
|
||||
|
||||
Tim may, therefore, decide to phone the US Navy in Washington
|
||||
for help. Its nuclear subs are at least capable of diving
|
||||
to the depth of the Aquadome. But none may be close enough
|
||||
to dispatch on such a mission.
|
||||
|
||||
On the other hand, if Tim and Buzz themselves take off in the
|
||||
Ultramarine Bioceptor, they run the risk of encountering
|
||||
operation trouble en route.
|
||||
|
||||
When the boys do embark in the UB, the test pen must first
|
||||
be flooded before the craft can be taken out to sea. They
|
||||
then discover that its jet engines won't start.
|
||||
|
||||
It turns out that this is due to the fact that a CATALYST
|
||||
CAPSULE was not installed in the reactor--altho Tim had
|
||||
instructed Shana to do so that morning, in preparation
|
||||
for a power test of the hydrojets.
|
||||
|
||||
If Tim cares to pursue the question of why she didn't
|
||||
install it, he may have another chance of discovering that
|
||||
Shana is now, in effect, an enemy agent--or at least an
|
||||
enemy stooge.
|
||||
|
||||
@heading (Summary of Remainder)
|
||||
|
||||
(NOTE: I have tried to imagine the opening setting and
|
||||
actions in some detail, but the remainder of the game will
|
||||
just be outlined briefly.)
|
||||
|
||||
At Buzz's suggestion, Tim may take along (purely as a
|
||||
distraction) a copy of a magazine called SCIENCE WORLD.
|
||||
The idea is that this will give him something to peruse
|
||||
en route, to relax his mind and ease the tension of the
|
||||
situation, while the UB is operating on auto-pilot.
|
||||
|
||||
If Tim does take along the magazine, he may learn from its
|
||||
cover story that a distinguished marine biologist, DR
|
||||
JEROME THORP, has reportedly created synthetic forms of
|
||||
marine life by means of genetic engineering.
|
||||
|
||||
Reading further, Tim may also learn (1) that Dr Thorp has
|
||||
disappeared and apparently gone into hiding to duck the
|
||||
publicity resulting from his sensational feat--and (2) that
|
||||
before going into hiding, Thorp confided to close friends
|
||||
that he would soon marry a young American woman, Shana
|
||||
Kemp.
|
||||
|
||||
Obviously this story may have implications with regard
|
||||
to the Snark's attack on the Aquadome, and the strange
|
||||
behavior of Shana Kemp.
|
||||
|
||||
En route, the sub's control circuits show signs of
|
||||
overheating. This is due to the fact that the lasers in
|
||||
the operational computers are over-charging. This could
|
||||
lead to a breakdown of the UB. Since the craft's external
|
||||
communications system also depends on underwater laser
|
||||
beams, Tim and Buzz may even lose contact with Quick
|
||||
Enterprises--or with the Undersea City as they dive
|
||||
toward the Aquadome.
|
||||
|
||||
Tim may decide to turn back to Quick Enterprises--or else
|
||||
try to trace and correct the trouble en route--or simply
|
||||
continue despite the overheating problem.
|
||||
|
||||
On reaching the Undersea City, the boys learn to their
|
||||
relief that the Snark has temporarily given up its attack.
|
||||
But, of course, it may return and renew its savage
|
||||
assault at any time.
|
||||
|
||||
There are four main buildings in the Undersea City: the
|
||||
ADMINISTRATION BUILDING containing an office, communications
|
||||
center and storeroom . . . the DORMITORY . . . the SCIENTIFIC
|
||||
LAB . . . and the POWER PLANT, containing a reactor and the
|
||||
air-conditioning system, which is based on extracting oxygen
|
||||
from the surrounding sea water.
|
||||
|
||||
It turns out that the failure of the video transmitter was
|
||||
due to sabotage. Besides Commander Brent herself, who's
|
||||
in charge of the Aquadome, two other persons had access
|
||||
to the communications center, where the transmitting
|
||||
equipment was stored: MICK CASEY, a frogman-technician who's
|
||||
also a laser expert--and DR WALT NOVAK, a young marine
|
||||
biochemist.
|
||||
|
||||
Tim learns that Casey is feuding with Commander Brent, who's
|
||||
a hard-nosed, up-tight disciplinarian . . . and that Dr. Novak
|
||||
frequently dated Shana Kemp before he signed on for a
|
||||
six-month hitch underwater in the Aquadome.
|
||||
|
||||
It appears that Brent may have become somewhat paranoid due
|
||||
to the strain of her undersea duties.
|
||||
|
||||
Tim also learns that a chemical substance called AMINO-
|
||||
HYDROPHASE (or AH) has been detected in the sea water.
|
||||
Apparently this stuff is secreted by the Snark. Yet it's
|
||||
also a synthetic compound not known to occur elsewhere in
|
||||
nature. This may help to clue Tim in to the fact that the
|
||||
Snark is a man-made monster, artificially created by Dr. Thorp.
|
||||
|
||||
Based on certain information in the magazine article about
|
||||
Thorp's experiments, Tim reasons that another chemical,
|
||||
called Dormiphen, may be just the right drug to tranquilize
|
||||
the creature.
|
||||
|
||||
At this point, Tim has the option of (1) setting out at
|
||||
once in his Ultramarine Bioceptor to hunt down the Snark,
|
||||
rather than wait passively for it to attack the Aquadome
|
||||
again . . . or (2) take time to trap the traitor who
|
||||
sabotaged the video transmitter, and who may therefore be
|
||||
in league with Dr. Thorp . . . or (3) concentrate on
|
||||
devising an underwater tranquilizer dart gun which can
|
||||
be mounted on the UB, while Dr. Novak is synthesizing some
|
||||
Dormiphen, and Mick Casey is repairing the computer lasers
|
||||
which caused the UB to overheat--and meanwhile, perhaps,
|
||||
let Buzz venture out either in scuba gear or deep-sea
|
||||
diving armor, to scout for the Snark.
|
||||
|
||||
Eventually Tim and Buzz embark together in the Ultramarine
|
||||
Bioceptor to hunt for the Snark.
|
||||
|
||||
Their hydrophones detect another sub in the vicinity. If
|
||||
they try to communicate with it by sonarphone, it may or
|
||||
may not respond. Conceivably it may be a Russian spy craft,
|
||||
prowling around the Aquadome area--or it may be Dr. Thorp's
|
||||
sub. And Tim may or may not take the time to find out its
|
||||
intent.
|
||||
|
||||
The boys finally encounter the Snark and a ding-dong battle
|
||||
ensues. Before the creature is subdued by tranquilizer,
|
||||
they have to battle it with their sub's grappler arms.
|
||||
|
||||
Conceivably the battle may end either in victory or
|
||||
disaster for Tim and Buzz.
|
||||
350
j1.transcript
Normal file
350
j1.transcript
Normal file
@@ -0,0 +1,350 @@
|
||||
Copyright (c) 1984 Infocom, Inc. All rights reserved.
|
||||
|
||||
Welcome to junior-level interactive fiction from Infocom!
|
||||
|
||||
In this story, you're the hero or heroine, so we'll use your name!
|
||||
|
||||
Please type your first name.
|
||||
|
||||
> JIM
|
||||
Hello Jim! Now type your last name.
|
||||
|
||||
> LAWRENCE
|
||||
Is Jim Lawrence right? > YES
|
||||
Then let the story begin!
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SEASTALKER: JIM LAWRENCE AND THE ULTRAMARINE BIOCEPTOR
|
||||
Junior-level interactive fiction from Infocom
|
||||
Copyright (c) 1984 Infocom, Inc. All rights reserved.
|
||||
SEASTALKER is a trademark of Infocom, Inc.
|
||||
Revision number 8 / Serial number 840424
|
||||
|
||||
"Jim, snap out of it!" cries Tip Randall, bursting into your laboratory.
|
||||
"The alert signal is on!"
|
||||
As you look up from your top-secret plans for the SCIMITAR, a submarine
|
||||
for capturing marine life on the ocean floor and still being tested,
|
||||
you notice the alarm bell on the videophone ringing. Someone's trying
|
||||
to reach you over the private videophone network of Inventions Unlimited!
|
||||
|
||||
(lab center)
|
||||
You're at your workbench in the center of your laboratory, a small
|
||||
part of the Lawrence Research Lab in the town of Frobton. The videophone
|
||||
screen looms overhead, with its alarm bell ringing.
|
||||
Tip is here.
|
||||
A microphone is sitting on your workbench.
|
||||
|
||||
Okay, Jim, what do you want to do now?
|
||||
> ANSWER THE ALARM
|
||||
|
||||
Why not turn on the videophone?
|
||||
The alarm bell continues to ring.
|
||||
|
||||
What next?
|
||||
> TURN ON THE VIDEOPHONE
|
||||
|
||||
As the alarm bell stops ringing, a picture of a woman holding a microphone
|
||||
appears, and you can hear her voice from the speaker. But both sound and
|
||||
picture are fuzzy.
|
||||
(Your score just went up by 1 point!)
|
||||
|
||||
What next?
|
||||
> TUNE IT
|
||||
|
||||
Ah, that's better! You recognize the woman as Commander Bly, who's in charge of
|
||||
the Undersea Research Station of Inventions Unlimited, called the Aquadome,
|
||||
just off the Atlantic coast. "Jim! Jim!" she's saying. "This is the Aquadome
|
||||
calling the Lawrence Research Lab! We have an urgent problem!"
|
||||
(Your score just went up by 1 point!)
|
||||
|
||||
What next?
|
||||
> TALK TO HER
|
||||
|
||||
She can't hear you unless you pick up your microphone and switch it on.
|
||||
|
||||
What next?
|
||||
> PICK UP THE MIKE AND SWITCH IT ON
|
||||
|
||||
(Your score just went up by 1 point!)
|
||||
You are now holding the microphone.
|
||||
|
||||
Okay, the microphone is now on.
|
||||
|
||||
What next?
|
||||
> TALK TO COMMANDER BLY
|
||||
|
||||
"Jim! Jim! Our transparent dome enclosing the Undersea Research Station is
|
||||
being battered by a huge monster!"
|
||||
|
||||
What next?
|
||||
> BLY, SHOW ME THE MONSTER
|
||||
|
||||
The Aquadome's camera pans, and the monster comes into view on your videophone
|
||||
screen. It resembles a huge sea slug, about 5 meters tall. Its clawed tentacles
|
||||
pound and scratch at the dome.
|
||||
|
||||
What next?
|
||||
> BLY, TELL ME ABOUT THE MONSTER
|
||||
|
||||
"Some of our divers saw it while exploring the undersea environment. They
|
||||
nicknamed it the Snark. This is the first time it has approached the Aquadome,
|
||||
and it may be the last time, Jim! I'm not sure how long our plastic dome
|
||||
enclosure can withstand such a battering!"
|
||||
|
||||
What next?
|
||||
> BLY, ATTACK THE MONSTER
|
||||
|
||||
"Jim, this is a peaceful research facility. We have no weapons."
|
||||
|
||||
What next?
|
||||
> BLY, LEAVE THE AQUADOME
|
||||
|
||||
"Our emergency escape bell would be vulnerable to a monster as big as the
|
||||
Snark. Ditto for SCUBA gear, deep-sea diving suits, or jet-propelled
|
||||
observation bubbles."
|
||||
|
||||
What next?
|
||||
> BLY, WAIT THERE FOR ME
|
||||
|
||||
"Okay, Jim, but hurry!"
|
||||
|
||||
(Are you tired of seeing "What next?" Well, you won't see it any more.)
|
||||
|
||||
|
||||
> HANG UP
|
||||
|
||||
"I hope to see you soon, Jim."
|
||||
|
||||
Something's wrong! The picture vanished from your videophone screen, and the
|
||||
sound conked out!
|
||||
Tip says, "That's strange! Maybe you should use the Computestor."
|
||||
(Oh no! Your score just went down by 3 points!)
|
||||
|
||||
> GO TO THE COMPUTESTOR
|
||||
|
||||
You can't walk away while you are holding the microphone!
|
||||
|
||||
> PUT IT ON THE TABLE
|
||||
|
||||
Okay.
|
||||
|
||||
> GO TO THE COMPUTESTOR
|
||||
|
||||
It's in the north part.
|
||||
(north part)
|
||||
You're in the north part of your laboratory. A Computestor stands here to help
|
||||
test your inventions.
|
||||
|
||||
> USE IT
|
||||
|
||||
The Computestor is off!
|
||||
|
||||
> TURN IT ON
|
||||
|
||||
The Computestor is ready for questions.
|
||||
|
||||
> ASK IT ABOUT THE VIDEOPHONE
|
||||
|
||||
"Symptoms: no picture, no sound.
|
||||
Possible causes:
|
||||
1) Failure of the transmitter at source.
|
||||
2) A short in the undersea coaxial cable linking transmitter to the Lawrence
|
||||
Research Lab, if signal is coming from Aquadome.
|
||||
3) Sunspot interference or satellite malfunction if transmitter is at earth's
|
||||
surface.
|
||||
4) Failure of the video receiver.
|
||||
5) Overload in the Electrical Panel (circuit breaker popped).
|
||||
6) Sabotage (circuit breaker open)."
|
||||
|
||||
> GO TO THE CIRCUIT BREAKER
|
||||
|
||||
It's in the corridor.
|
||||
(corridor)
|
||||
You're in a corridor, with your laboratory to the west, a storage closet to the
|
||||
south, and Kemp's office to the east. An Electrical Panel fills most of the
|
||||
north wall.
|
||||
|
||||
Tip follows you into the corridor.
|
||||
(If you want a clue, find Infocard #3 in your SEASTALKER package. Read hidden
|
||||
clue #1 and put "Electrical Panel" in the blank space.)
|
||||
|
||||
> CHECK THE BREAKER
|
||||
|
||||
(If you want a clue, find Infocard #3 in your SEASTALKER package. Read hidden
|
||||
clue #1 and put "Electrical Panel" in the blank space.)
|
||||
|
||||
> CLOSE IT
|
||||
|
||||
Okay, the circuit breaker is now closed.
|
||||
(Your score just went up by 3 points!)
|
||||
|
||||
> GO BACK TO THE LAB
|
||||
|
||||
(lab center)
|
||||
You're at your workbench in the center of your laboratory, a small part of the
|
||||
Lawrence Research Lab in the town of Frobton. The videophone screen looms
|
||||
overhead.
|
||||
|
||||
Tip follows you into the lab center.
|
||||
Sitting on the workbench is:
|
||||
a microphone
|
||||
a diagram
|
||||
As you re-enter the lab, Tip says, "Look, Jim! The videophone's working again!
|
||||
There's a normal test pattern on the screen!"
|
||||
|
||||
> TIP, GO TO THE SUBMARINE
|
||||
|
||||
"I think you can do that better yourself."
|
||||
|
||||
> GO TO THE SUB
|
||||
|
||||
(SCIMITAR)
|
||||
You're in the pilot's seat of the SCIMITAR, its operating control panel before
|
||||
you.
|
||||
A wraparound viewport, both fore and aft, provides a view ahead and astern. You
|
||||
can also observe your surroundings with a sonarscope and a hydrophone listening
|
||||
device. There's a sonarphone for communication. You'll discover other features
|
||||
when you need them.
|
||||
Tip is sitting behind you, reading a magazine.
|
||||
The power reactor is off and open.
|
||||
(Your score just went up by 1 point!)
|
||||
|
||||
> TURN IT ON
|
||||
|
||||
(If you want a clue, find Infocard #3 in your SEASTALKER package. Read hidden
|
||||
clue #3 and put "catalyst capsule" in the blank space.)
|
||||
|
||||
> GO TO THE CAPSULE
|
||||
|
||||
It's in the west walkway.
|
||||
(west walkway)
|
||||
You're at a work counter, next to the control gear used to operate the test
|
||||
tank.
|
||||
The test tank (which is now empty of sea water) is located in a large work
|
||||
room, just south of your laboratory, with concrete-block walls on three sides
|
||||
and a high metal roof. Most of its floor is dug out and lined with steel, to
|
||||
form the huge tank used for developing and testing underwater gear and the
|
||||
pilot models of your submarine craft.
|
||||
There's a walkway around the tank on three sides -- north, west and south. On
|
||||
the east side, a steel gate forms the wall of the room.
|
||||
|
||||
Tip follows you into the west walkway.
|
||||
Sitting on the work counter is:
|
||||
a catalyst capsule
|
||||
|
||||
> TAKE IT
|
||||
|
||||
(Your score just went up by 5 points!)
|
||||
You are now holding the catalyst capsule.
|
||||
|
||||
> GET IN THE SUB
|
||||
|
||||
You have to go north to board the SCIMITAR.
|
||||
|
||||
> GO NORTH
|
||||
|
||||
(north walkway)
|
||||
Tip is off to the south.
|
||||
|
||||
> BOARD THE SCIMITAR
|
||||
|
||||
(SCIMITAR)
|
||||
Tip is sitting behind you, reading a magazine.
|
||||
The power reactor is off and open.
|
||||
|
||||
> PUT THE CAPSULE IN THE REACTOR
|
||||
|
||||
Okay.
|
||||
|
||||
> CLOSE THE REACTOR THEN TURN IT ON
|
||||
|
||||
Okay, the reactor is now closed.
|
||||
|
||||
Electrical systems now activated.
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
> READ THE INSTRUMENTS
|
||||
|
||||
Main instruments:
|
||||
depth finder, hydrophone, sonarscope, and temperature gauge.
|
||||
|
||||
> LEAVE THE TANK
|
||||
|
||||
The tank is empty!
|
||||
|
||||
> FILL IT
|
||||
|
||||
The sea water quickly fills the tank, up to the level of the walkway.
|
||||
|
||||
> LEAVE IT
|
||||
|
||||
The gate is closed!
|
||||
|
||||
> OPEN IT
|
||||
|
||||
Opened (by remote control).
|
||||
|
||||
> LEAVE THE TANK
|
||||
|
||||
The engine is off!
|
||||
|
||||
> TURN IT ON
|
||||
|
||||
You can immediately hear the powerful thrum of the hydrojet turbine.
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
> LEAVE THE TANK
|
||||
|
||||
You can do this by setting the throttle to the speed you want (slow, medium, or
|
||||
fast) and by moving the joystick in the compass direction you wish to go.
|
||||
|
||||
> SET THE THROTTLE TO SLOW
|
||||
|
||||
You shouldn't leave the tank with the hatch open!
|
||||
|
||||
> CLOSE IT
|
||||
|
||||
Okay, the entry hatch is now closed.
|
||||
|
||||
> SLOW
|
||||
|
||||
Okay, now that the throttle is set, try pushing the joystick to the east.
|
||||
|
||||
> PUSH THE STICK EAST
|
||||
|
||||
The SCIMITAR glides smoothly out of the tank onto the surface of Frobton Bay.
|
||||
You're heading east at 1 sea square per turn.
|
||||
(Your score just went up by 5 points!)
|
||||
(This might be a good time to use the command: SAVE.)
|
||||
|
||||
A speedboat came out of nowhere and almost hit you! It's dangerous on the
|
||||
surface of the bay.
|
||||
|
||||
> QUIT
|
||||
|
||||
Your score is 24 points out of 100, in 44 turns.
|
||||
This score gives you the rank of a fair adventurer.
|
||||
(If you want to continue from this point at another time, you must "SAVE"
|
||||
first.)
|
||||
Do you want to stop playing now? > YES
|
||||
914
j1.vocab
Normal file
914
j1.vocab
Normal file
@@ -0,0 +1,914 @@
|
||||
|
||||
#WORD *002460310346* "$ba"
|
||||
#WORD *002460310406* "$ca"
|
||||
#WORD *002460310563* "$fn"
|
||||
#WORD *002460311063* "$ln"
|
||||
#WORD *002460311552* "$ve"
|
||||
#WORD *002511320274* "10-"
|
||||
#WORD *002541342274* "49-"
|
||||
#WORD *002541342527* "49er"
|
||||
#WORD *002621312245* "."
|
||||
#WORD *002631312245* ","
|
||||
#WORD *002641312245* "!"
|
||||
#WORD *002651312245* "?"
|
||||
#WORD *002672316605* "#dbg"
|
||||
#WORD *002711312245* """
|
||||
#WORD *002766151112* "(some"
|
||||
#WORD *003051312245* "a"
|
||||
#WORD *003071546464* "abando"
|
||||
#WORD *003075165445* "about"
|
||||
#WORD *003102125430* "access"
|
||||
#WORD *003106335546* "activa"
|
||||
#WORD *003113765431* "adjust"
|
||||
#WORD *003114535145* "admin"
|
||||
#WORD *003114535156* "admini"
|
||||
#WORD *003132735362* "affirm"
|
||||
#WORD *003141535145* "again"
|
||||
#WORD *003141535170* "agains"
|
||||
#WORD *003164512245* "aim"
|
||||
#WORD *003165712245* "air"
|
||||
#WORD *003165743210* "airloc"
|
||||
#WORD *003211557105* "alarm"
|
||||
#WORD *003214312245* "all"
|
||||
#WORD *003221312245* "am"
|
||||
#WORD *003227512245* "amy"
|
||||
#WORD *003227513430* "amy's"
|
||||
#WORD *003231312245* "an"
|
||||
#WORD *003231543730* "analys"
|
||||
#WORD *003231543737* "analyz"
|
||||
#WORD *003232312245* "and"
|
||||
#WORD *003236170527* "answer"
|
||||
#WORD *003236356722* "antrim"
|
||||
#WORD *003237512245* "any"
|
||||
#WORD *003255343705* "apply"
|
||||
#WORD *003266514245* "aqua"
|
||||
#WORD *003266514464* "aquado"
|
||||
#WORD *003266515456* "aquati"
|
||||
#WORD *003272512245* "are"
|
||||
#WORD *003272514245* "area"
|
||||
#WORD *003274512245* "arm"
|
||||
#WORD *003274560245* "arms"
|
||||
#WORD *003275165151* "around"
|
||||
#WORD *003275725431* "arrest"
|
||||
#WORD *003275751605* "arrow"
|
||||
#WORD *003276334421* "articl"
|
||||
#WORD *003302125151* "ascend"
|
||||
#WORD *003304112245* "ask"
|
||||
#WORD *003306115521* "assaul"
|
||||
#WORD *003306135431* "assist"
|
||||
#WORD *003306151371* "assort"
|
||||
#WORD *003311312245* "at"
|
||||
#WORD *003314315171* "atlant"
|
||||
#WORD *003316314415* "attach"
|
||||
#WORD *003316314420* "attack"
|
||||
#WORD *003326350245* "auto"
|
||||
#WORD *003326351106* "automa"
|
||||
#WORD *003326351256* "autopi"
|
||||
#WORD *003341540505* "awake"
|
||||
#WORD *003341574245* "away"
|
||||
#WORD *003362512245* "aye"
|
||||
#WORD *003462140245* "back"
|
||||
#WORD *003462330505* "badge"
|
||||
#WORD *003462330530* "badges"
|
||||
#WORD *003466162327* "bastar"
|
||||
#WORD *003466332505* "bathe"
|
||||
#WORD *003467512245* "bay"
|
||||
#WORD *003467751220* "bazook"
|
||||
#WORD *003521544245* "beam"
|
||||
#WORD *003522312245* "bed"
|
||||
#WORD *003523335151* "behind"
|
||||
#WORD *003524342245* "bell"
|
||||
#WORD *003524720645* "bench"
|
||||
#WORD *003524724331* "beneat"
|
||||
#WORD *003564342245* "bill"
|
||||
#WORD *003564342270* "bill'"
|
||||
#WORD *003564342724* "billio"
|
||||
#WORD *003565120525* "biocep"
|
||||
#WORD *003566324245* "bite"
|
||||
#WORD *003611521005* "black"
|
||||
#WORD *003611561445* "blast"
|
||||
#WORD *003612330245* "bldg"
|
||||
#WORD *003613552245* "blip"
|
||||
#WORD *003615170245* "blow"
|
||||
#WORD *003616524245* "blue"
|
||||
#WORD *003616525267* "bluepr"
|
||||
#WORD *003617512245* "bly"
|
||||
#WORD *003617513430* "bly's"
|
||||
#WORD *003641556445* "board"
|
||||
#WORD *003641562245* "boat"
|
||||
#WORD *003644362245* "bolt"
|
||||
#WORD *003645140245* "book"
|
||||
#WORD *003647312245* "box"
|
||||
#WORD *003647512245* "boy"
|
||||
#WORD *003671561405* "brass"
|
||||
#WORD *003672515005* "break"
|
||||
#WORD *003672515012* "breake"
|
||||
#WORD *003672525752* "breeze"
|
||||
#WORD *003673524545* "brief"
|
||||
#WORD *003673524561* "briefl"
|
||||
#WORD *003673546605* "bring"
|
||||
#WORD *003676560645* "brush"
|
||||
#WORD *003723542445* "build"
|
||||
#WORD *003723542456* "buildi"
|
||||
#WORD *003724552527* "bumper"
|
||||
#WORD *003724720645* "bunch"
|
||||
#WORD *003724740245* "bunk"
|
||||
#WORD *003726135152* "busine"
|
||||
#WORD *003726363223* "button"
|
||||
#WORD *003727776527* "buzzer"
|
||||
#WORD *003761312245* "by"
|
||||
#WORD *003762512245* "bye"
|
||||
#WORD *004061735152* "cabine"
|
||||
#WORD *004061742505* "cable"
|
||||
#WORD *004064342245* "call"
|
||||
#WORD *004064712245* "can"
|
||||
#WORD *004064735431* "canist"
|
||||
#WORD *004065361521* "capsul"
|
||||
#WORD *004065363527* "captur"
|
||||
#WORD *004065724572* "carefu"
|
||||
#WORD *004065757705* "carry"
|
||||
#WORD *004066312245* "cat"
|
||||
#WORD *004066315076* "cataly"
|
||||
#WORD *004124762527* "center"
|
||||
#WORD *004124763352* "centre"
|
||||
#WORD *004151535345* "chair"
|
||||
#WORD *004151535370* "chairs"
|
||||
#WORD *004151556612* "charge"
|
||||
#WORD *004151560505* "chase"
|
||||
#WORD *004152521005* "check"
|
||||
#WORD *004152544710* "chemic"
|
||||
#WORD *004155156505* "chore"
|
||||
#WORD *004156521005* "chuck"
|
||||
#WORD *004165721516* "circui"
|
||||
#WORD *004211570245* "claw"
|
||||
#WORD *004211571405* "claws"
|
||||
#WORD *004212515145* "clean"
|
||||
#WORD *004212515345* "clear"
|
||||
#WORD *004213544345* "climb"
|
||||
#WORD *004215160505* "close"
|
||||
#WORD *004215160521* "closel"
|
||||
#WORD *004215160531* "closet"
|
||||
#WORD *004216524245* "clue"
|
||||
#WORD *004216561452* "cluste"
|
||||
#WORD *004241572706* "coaxia"
|
||||
#WORD *004244524245* "come"
|
||||
#WORD *004244544245* "comm"
|
||||
#WORD *004244544323* "comman"
|
||||
#WORD *004244545523* "commun"
|
||||
#WORD *004244552323* "compan"
|
||||
#WORD *004244552327* "compar"
|
||||
#WORD *004244553531* "comput"
|
||||
#WORD *004244727364* "confro"
|
||||
#WORD *004244761521* "consul"
|
||||
#WORD *004244761522* "consum"
|
||||
#WORD *004244762310* "contac"
|
||||
#WORD *004244762523* "conten"
|
||||
#WORD *004244763364* "contro"
|
||||
#WORD *004245756711* "corrid"
|
||||
#WORD *004246542445* "could"
|
||||
#WORD *004246547452* "counte"
|
||||
#WORD *004246725345* "cover"
|
||||
#WORD *004271571045* "crawl"
|
||||
#WORD *004272515472* "creatu"
|
||||
#WORD *004272570245* "crew"
|
||||
#WORD *004275164415* "crouch"
|
||||
#WORD *004276535412* "cruise"
|
||||
#WORD *004276560645* "crush"
|
||||
#WORD *004325756523* "curren"
|
||||
#WORD *004325760505* "curse"
|
||||
#WORD *004325760530* "curses"
|
||||
#WORD *004326160245* "cuss"
|
||||
#WORD *004326312245* "cut"
|
||||
#WORD *004364335151* "cylind"
|
||||
#WORD *004451312245* "d"
|
||||
#WORD *004464514612* "damage"
|
||||
#WORD *004464546245* "damn"
|
||||
#WORD *004464730527* "danger"
|
||||
#WORD *004465762245* "dart"
|
||||
#WORD *004521715360* "debark"
|
||||
#WORD *004522140245* "deck"
|
||||
#WORD *004522735156* "defini"
|
||||
#WORD *004525351416* "deposi"
|
||||
#WORD *004525362645* "depth"
|
||||
#WORD *004525362653* "depthf"
|
||||
#WORD *004526120523* "descen"
|
||||
#WORD *004526121356* "descri"
|
||||
#WORD *004526140245* "desk"
|
||||
#WORD *004526163364* "destro"
|
||||
#WORD *004526324431* "detect"
|
||||
#WORD *004526734412* "device"
|
||||
#WORD *004561531164* "diagno"
|
||||
#WORD *004561531346* "diagra"
|
||||
#WORD *004561557705* "diary"
|
||||
#WORD *004562312245* "did"
|
||||
#WORD *004563112245* "dig"
|
||||
#WORD *004565724431* "direct"
|
||||
#WORD *004566121530* "discus"
|
||||
#WORD *004566125107* "disemb"
|
||||
#WORD *004566163352* "distre"
|
||||
#WORD *004566724245* "dive"
|
||||
#WORD *004566725345* "diver"
|
||||
#WORD *004566725370* "divers"
|
||||
#WORD *004566735154* "diving"
|
||||
#WORD *004641312245* "do"
|
||||
#WORD *004642112245* "doc"
|
||||
#WORD *004642113430* "doc's"
|
||||
#WORD *004642140245* "dock"
|
||||
#WORD *004642140723* "dockin"
|
||||
#WORD *004642163227* "doctor"
|
||||
#WORD *004644524245* "dome"
|
||||
#WORD *004644715452* "donate"
|
||||
#WORD *004645156245* "door"
|
||||
#WORD *004645157606* "doorwa"
|
||||
#WORD *004645744245* "dorm"
|
||||
#WORD *004645744731* "dormit"
|
||||
#WORD *004646560505* "douse"
|
||||
#WORD *004647146245* "down"
|
||||
#WORD *004671312245* "dr"
|
||||
#WORD *004671535145* "drain"
|
||||
#WORD *004671570527* "drawer"
|
||||
#WORD *004673547005* "drink"
|
||||
#WORD *004673566505* "drive"
|
||||
#WORD *004675152245* "drop"
|
||||
#WORD *005051312245* "e"
|
||||
#WORD *005066162245* "east"
|
||||
#WORD *005066312245* "eat"
|
||||
#WORD *005113562724* "editio"
|
||||
#WORD *005163133445* "eight"
|
||||
#WORD *005163133452* "eighte"
|
||||
#WORD *005163133476* "eighty"
|
||||
#WORD *005212521467* "electr"
|
||||
#WORD *005212566523* "eleven"
|
||||
#WORD *005222556612* "emerge"
|
||||
#WORD *005225363705* "empty"
|
||||
#WORD *005233114612* "engage"
|
||||
#WORD *005233135152* "engine"
|
||||
#WORD *005236325345* "enter"
|
||||
#WORD *005236335352* "entire"
|
||||
#WORD *005236356323* "entran"
|
||||
#WORD *005236357705* "entry"
|
||||
#WORD *005266535262* "equipm"
|
||||
#WORD *005331521506* "evacua"
|
||||
#WORD *005333522523* "eviden"
|
||||
#WORD *005351544723* "examin"
|
||||
#WORD *005352556416* "exerci"
|
||||
#WORD *005353562245* "exit"
|
||||
#WORD *005355325371* "expert"
|
||||
#WORD *005355342316* "explai"
|
||||
#WORD *005355343227* "explor"
|
||||
#WORD *005355343230* "explos"
|
||||
#WORD *005356325151* "extend"
|
||||
#WORD *005356325170* "extens"
|
||||
#WORD *005356335154* "exting"
|
||||
#WORD *005464551530* "famous"
|
||||
#WORD *005466162245* "fast"
|
||||
#WORD *005466162523* "fasten"
|
||||
#WORD *005466162527* "faster"
|
||||
#WORD *005522522245* "feed"
|
||||
#WORD *005522542245* "feel"
|
||||
#WORD *005524515052* "female"
|
||||
#WORD *005526320645* "fetch"
|
||||
#WORD *005562542445* "field"
|
||||
#WORD *005562762512* "fiftee"
|
||||
#WORD *005562763705* "fifty"
|
||||
#WORD *005563133445* "fight"
|
||||
#WORD *005564324245* "file"
|
||||
#WORD *005564325405* "files"
|
||||
#WORD *005564342245* "fill"
|
||||
#WORD *005564722245* "find"
|
||||
#WORD *005564722527* "finder"
|
||||
#WORD *005564724245* "fine"
|
||||
#WORD *005565724245* "fire"
|
||||
#WORD *005565761445* "first"
|
||||
#WORD *005566312245* "fit"
|
||||
#WORD *005566724245* "five"
|
||||
#WORD *005567312245* "fix"
|
||||
#WORD *005613552245* "flip"
|
||||
#WORD *005615150445* "flood"
|
||||
#WORD *005615151345* "floor"
|
||||
#WORD *005642165405* "focus"
|
||||
#WORD *005644343234* "follow"
|
||||
#WORD *005645712245* "for"
|
||||
#WORD *005645763705* "forty"
|
||||
#WORD *005646556245* "four"
|
||||
#WORD *005646557452* "fourte"
|
||||
#WORD *005671544245* "fram"
|
||||
#WORD *005672524245* "free"
|
||||
#WORD *005672534615* "freigh"
|
||||
#WORD *005675117464* "frobto"
|
||||
#WORD *005675144245* "from"
|
||||
#WORD *005722140245* "fuck"
|
||||
#WORD *005722330505* "fudge"
|
||||
#WORD *005724342245* "full"
|
||||
#WORD *005725746731* "furnit"
|
||||
#WORD *006051312245* "g"
|
||||
#WORD *006064342536* "galley"
|
||||
#WORD *006064524245* "game"
|
||||
#WORD *006064731261* "gangpl"
|
||||
#WORD *006066132245* "gash"
|
||||
#WORD *006066324245* "gate"
|
||||
#WORD *006066325405* "gates"
|
||||
#WORD *006066530505* "gauge"
|
||||
#WORD *006066530530* "gauges"
|
||||
#WORD *006067724245* "gaze"
|
||||
#WORD *006121556245* "gear"
|
||||
#WORD *006121557405* "gears"
|
||||
#WORD *006124725346* "genera"
|
||||
#WORD *006126312245* "get"
|
||||
#WORD *006165742245* "girl"
|
||||
#WORD *006166724245* "give"
|
||||
#WORD *006241312245* "go"
|
||||
#WORD *006245122274* "good-"
|
||||
#WORD *006245122376* "goodby"
|
||||
#WORD *006271516245* "grab"
|
||||
#WORD *006272525172* "greenu"
|
||||
#WORD *006272525445* "greet"
|
||||
#WORD *006272525456* "greeti"
|
||||
#WORD *006273522245* "grid"
|
||||
#WORD *006273523405* "grids"
|
||||
#WORD *006273546245* "grin"
|
||||
#WORD *006275165151* "ground"
|
||||
#WORD *006324712245* "gun"
|
||||
#WORD *006464326245* "half"
|
||||
#WORD *006464342245* "hall"
|
||||
#WORD *006464343606* "hallwa"
|
||||
#WORD *006464722245* "hand"
|
||||
#WORD *006464723052* "handle"
|
||||
#WORD *006464730245* "hang"
|
||||
#WORD *006466112245* "has"
|
||||
#WORD *006466320645* "hatch"
|
||||
#WORD *006466724245* "have"
|
||||
#WORD *006521312245* "he"
|
||||
#WORD *006521361405* "he's"
|
||||
#WORD *006521522245* "head"
|
||||
#WORD *006524343205* "hello"
|
||||
#WORD *006524352245* "help"
|
||||
#WORD *006525712245* "her"
|
||||
#WORD *006525724245* "here"
|
||||
#WORD *006525760521* "hersel"
|
||||
#WORD *006561312245* "hi"
|
||||
#WORD *006562324245* "hide"
|
||||
#WORD *006563132245* "high"
|
||||
#WORD *006564512245* "him"
|
||||
#WORD *006564560521* "himsel"
|
||||
#WORD *006564762245* "hint"
|
||||
#WORD *006566112245* "his"
|
||||
#WORD *006566312245* "hit"
|
||||
#WORD *006644324245* "hole"
|
||||
#WORD *006645140245* "hook"
|
||||
#WORD *006645766320* "horvak"
|
||||
#WORD *006646560723* "housin"
|
||||
#WORD *006647112245* "how"
|
||||
#WORD *006723124245* "huge"
|
||||
#WORD *006724723352* "hundre"
|
||||
#WORD *006725742245* "hurl"
|
||||
#WORD *006725762245* "hurt"
|
||||
#WORD *006762357217* "hydroj"
|
||||
#WORD *006762357225* "hydrop"
|
||||
#WORD *006765350245* "hypo"
|
||||
#WORD *006765350452* "hypode"
|
||||
#WORD *007051312245* "i"
|
||||
#WORD *007056143045* "i'll"
|
||||
#WORD *007056144245* "i'm"
|
||||
#WORD *007056166505* "i've"
|
||||
#WORD *007112514245* "idea"
|
||||
#WORD *007112547456* "identi"
|
||||
#WORD *007221734352* "imbibe"
|
||||
#WORD *007231312245* "in"
|
||||
#WORD *007233765352* "injure"
|
||||
#WORD *007235564727* "inquir"
|
||||
#WORD *007236125371* "insert"
|
||||
#WORD *007236134452* "inside"
|
||||
#WORD *007236152510* "inspec"
|
||||
#WORD *007236162321* "instal"
|
||||
#WORD *007236163372* "instru"
|
||||
#WORD *007236325350* "interc"
|
||||
#WORD *007236325367* "interr"
|
||||
#WORD *007236350245* "into"
|
||||
#WORD *007236725171* "invent"
|
||||
#WORD *007301312245* "is"
|
||||
#WORD *007311312245* "it"
|
||||
#WORD *007311361405* "it's"
|
||||
#WORD *007525751112* "jerome"
|
||||
#WORD *007641712245* "job"
|
||||
#WORD *007643130723* "joggin"
|
||||
#WORD *007647512245* "joy"
|
||||
#WORD *007647561456* "joysti"
|
||||
#WORD *007724740245* "junk"
|
||||
#WORD *010122542245* "keel"
|
||||
#WORD *010124552245* "kemp"
|
||||
#WORD *010124552270* "kemp'"
|
||||
#WORD *010127512245* "key"
|
||||
#WORD *010162140245* "kick"
|
||||
#WORD *010164342245* "kill"
|
||||
#WORD *010166160245* "kiss"
|
||||
#WORD *010235116245* "knob"
|
||||
#WORD *010235117405* "knobs"
|
||||
#WORD *010235121005* "knock"
|
||||
#WORD *010451312245* "l"
|
||||
#WORD *010461712245* "lab"
|
||||
#WORD *010461751346* "labora"
|
||||
#WORD *010462322527* "ladder"
|
||||
#WORD *010466546415* "launch"
|
||||
#WORD *010521522245* "lead"
|
||||
#WORD *010521566505* "leave"
|
||||
#WORD *010522762245* "left"
|
||||
#WORD *010526313430* "let's"
|
||||
#WORD *010526725045* "level"
|
||||
#WORD *010526725345* "lever"
|
||||
#WORD *010562762245* "lift"
|
||||
#WORD *010563133445* "light"
|
||||
#WORD *010563133470* "lights"
|
||||
#WORD *010566162523* "listen"
|
||||
#WORD *010641522245* "load"
|
||||
#WORD *010642115452* "locate"
|
||||
#WORD *010642140245* "lock"
|
||||
#WORD *010642140527* "locker"
|
||||
#WORD *010643112245* "log"
|
||||
#WORD *010643117224* "logboo"
|
||||
#WORD *010645140245* "look"
|
||||
#WORD *010646312245* "lot"
|
||||
#WORD *010647112245* "low"
|
||||
#WORD *010647125061* "lowell"
|
||||
#WORD *010647125345* "lower"
|
||||
#WORD *011051312245* "m"
|
||||
#WORD *011062132723* "machin"
|
||||
#WORD *011063112245* "mag"
|
||||
#WORD *011063115756* "magazi"
|
||||
#WORD *011064124245* "make"
|
||||
#WORD *011064324245* "male"
|
||||
#WORD *011064712245* "man"
|
||||
#WORD *011064764321* "manual"
|
||||
#WORD *011065735152* "marine"
|
||||
#WORD *011065766245* "marv"
|
||||
#WORD *011065766270* "marv'"
|
||||
#WORD *011066320645* "match"
|
||||
#WORD *011066325356* "materi"
|
||||
#WORD *011066362527* "matter"
|
||||
#WORD *011067335132* "maximu"
|
||||
#WORD *011067516505* "maybe"
|
||||
#WORD *011121312245* "me"
|
||||
#WORD *011122132323* "mechan"
|
||||
#WORD *011122334405* "medic"
|
||||
#WORD *011122335446* "medita"
|
||||
#WORD *011122335522* "medium"
|
||||
#WORD *011126160245* "mess"
|
||||
#WORD *011126315061* "metall"
|
||||
#WORD *011126325345* "meter"
|
||||
#WORD *011126325370* "meters"
|
||||
#WORD *011126356530* "metres"
|
||||
#WORD *011162140245* "mick"
|
||||
#WORD *011162140270* "mick'"
|
||||
#WORD *011162157225* "microp"
|
||||
#WORD *011162157234* "microw"
|
||||
#WORD *011164124245* "mike"
|
||||
#WORD *011164342724* "millio"
|
||||
#WORD *011164735132* "minimu"
|
||||
#WORD *011164765452* "minute"
|
||||
#WORD *011166160723* "missin"
|
||||
#WORD *011243561472* "moistu"
|
||||
#WORD *011244325431* "molest"
|
||||
#WORD *011244735464* "monito"
|
||||
#WORD *011244761452* "monste"
|
||||
#WORD *011245724245* "more"
|
||||
#WORD *011246335552* "motive"
|
||||
#WORD *011246547445* "mount"
|
||||
#WORD *011246724245* "move"
|
||||
#WORD *011361312245* "my"
|
||||
#WORD *011366125053* "myself"
|
||||
#WORD *011451312245* "n"
|
||||
#WORD *011464524245* "name"
|
||||
#WORD *011467512245* "nay"
|
||||
#WORD *011521312245* "ne"
|
||||
#WORD *011522523052* "needle"
|
||||
#WORD *011523115456* "negati"
|
||||
#WORD *011527112245* "new"
|
||||
#WORD *011527161246* "newspa"
|
||||
#WORD *011564724245* "nine"
|
||||
#WORD *011564725452* "ninete"
|
||||
#WORD *011564725476* "ninety"
|
||||
#WORD *011641312245* "no"
|
||||
#WORD *011642312245* "nod"
|
||||
#WORD *011642365052* "nodule"
|
||||
#WORD *011645324245* "nope"
|
||||
#WORD *011645762645* "north"
|
||||
#WORD *011645762652* "northe"
|
||||
#WORD *011645762674* "northw"
|
||||
#WORD *011646332723* "nothin"
|
||||
#WORD *011647112245* "now"
|
||||
#WORD *011724516527* "number"
|
||||
#WORD *011741312245* "nw"
|
||||
#WORD *012073724431* "object"
|
||||
#WORD *012076125373* "observ"
|
||||
#WORD *012102515145* "ocean"
|
||||
#WORD *012112312245* "odd"
|
||||
#WORD *012112343705* "oddly"
|
||||
#WORD *012131312245* "of"
|
||||
#WORD *012132712245* "off"
|
||||
#WORD *012132725345* "offer"
|
||||
#WORD *012132734412* "office"
|
||||
#WORD *012201312245* "ok"
|
||||
#WORD *012201574245* "okay"
|
||||
#WORD *012231312245* "on"
|
||||
#WORD *012232512245* "one"
|
||||
#WORD *012236350245* "onto"
|
||||
#WORD *012252546245* "open"
|
||||
#WORD *012252556331* "operat"
|
||||
#WORD *012271546612* "orange"
|
||||
#WORD *012272512245* "ore"
|
||||
#WORD *012313325345* "other"
|
||||
#WORD *012326312245* "out"
|
||||
#WORD *012332556245* "over"
|
||||
#WORD *012332556652* "overhe"
|
||||
#WORD *012357530523* "oxygen"
|
||||
#WORD *012451312245* "p"
|
||||
#WORD *012463124245* "page"
|
||||
#WORD *012464725045* "panel"
|
||||
#WORD *012465325345* "paper"
|
||||
#WORD *012465325370* "papers"
|
||||
#WORD *012465762245* "part"
|
||||
#WORD *012465763405* "parts"
|
||||
#WORD *012466312245* "pat"
|
||||
#WORD *012466560505* "pause"
|
||||
#WORD *012521542245* "peal"
|
||||
#WORD *012522512245* "pee"
|
||||
#WORD *012522540245* "peek"
|
||||
#WORD *012525761223* "person"
|
||||
#WORD *012525765412* "peruse"
|
||||
#WORD *012526312245* "pet"
|
||||
#WORD *012555146505* "phone"
|
||||
#WORD *012555163205* "photo"
|
||||
#WORD *012555163214* "photog"
|
||||
#WORD *012562140245* "pick"
|
||||
#WORD *012562163527* "pictur"
|
||||
#WORD *012564351445* "pilot"
|
||||
#WORD *012566160245* "piss"
|
||||
#WORD *012611520505* "place"
|
||||
#WORD *012611546245* "plan"
|
||||
#WORD *012611547405* "plans"
|
||||
#WORD *012611561456* "plasti"
|
||||
#WORD *012611562505* "plate"
|
||||
#WORD *012611574245* "play"
|
||||
#WORD *012612515412* "please"
|
||||
#WORD *012642312245* "pod"
|
||||
#WORD *012643547445* "point"
|
||||
#WORD *012645112245* "poo"
|
||||
#WORD *012645720645* "porch"
|
||||
#WORD *012645762245* "port"
|
||||
#WORD *012647125345* "power"
|
||||
#WORD *012672552327* "prepar"
|
||||
#WORD *012672560523* "presen"
|
||||
#WORD *012672561405* "press"
|
||||
#WORD *012673566331* "privat"
|
||||
#WORD *012675117052* "proble"
|
||||
#WORD *012675120512* "procee"
|
||||
#WORD *012675153521* "propul"
|
||||
#WORD *012675161252* "prospe"
|
||||
#WORD *012724342245* "pull"
|
||||
#WORD *012724552245* "pump"
|
||||
#WORD *012724720645* "punch"
|
||||
#WORD *012725761512* "pursue"
|
||||
#WORD *012726132245* "push"
|
||||
#WORD *012726312245* "put"
|
||||
#WORD *013051312245* "q"
|
||||
#WORD *013322561456* "questi"
|
||||
#WORD *013323521021* "quickl"
|
||||
#WORD *013323525461* "quietl"
|
||||
#WORD *013323562245* "quit"
|
||||
#WORD *013463560505* "raise"
|
||||
#WORD *013464552245* "ramp"
|
||||
#WORD *013464722321* "randal"
|
||||
#WORD *013465312245* "rap"
|
||||
#WORD *013465324245* "rape"
|
||||
#WORD *013521521464* "reacto"
|
||||
#WORD *013521522245* "read"
|
||||
#WORD *013521561223* "reason"
|
||||
#WORD *013522124733* "receiv"
|
||||
#WORD *013522125271* "recept"
|
||||
#WORD *013522312245* "red"
|
||||
#WORD *013522322730* "reddis"
|
||||
#WORD *013523165046* "regula"
|
||||
#WORD *013524315645* "relax"
|
||||
#WORD *013524315705* "relay"
|
||||
#WORD *013524324330* "releas"
|
||||
#WORD *013524551452* "remote"
|
||||
#WORD *013524551552* "remove"
|
||||
#WORD *013525314727* "repair"
|
||||
#WORD *013525325045* "repel"
|
||||
#WORD *013525325046* "repela"
|
||||
#WORD *013525342310* "replac"
|
||||
#WORD *013525343705* "reply"
|
||||
#WORD *013525351371* "report"
|
||||
#WORD *013526124327* "resear"
|
||||
#WORD *013526125445* "reset"
|
||||
#WORD *013526153223* "respon"
|
||||
#WORD *013526162245* "rest"
|
||||
#WORD *013526162327* "restar"
|
||||
#WORD *013526163227* "restor"
|
||||
#WORD *013526165112* "resume"
|
||||
#WORD *013526735416* "revisi"
|
||||
#WORD *013526751072* "revolu"
|
||||
#WORD *013562312245* "rid"
|
||||
#WORD *013563133445* "right"
|
||||
#WORD *013564730245* "ring"
|
||||
#WORD *013566124245* "rise"
|
||||
#WORD *013643125345* "roger"
|
||||
#WORD *013645126245* "roof"
|
||||
#WORD *013645144245* "room"
|
||||
#WORD *013721712245* "rub"
|
||||
#WORD *013721716527* "rubber"
|
||||
#WORD *013724712245* "run"
|
||||
#WORD *013724746723* "runnin"
|
||||
#WORD *013724770336* "runway"
|
||||
#WORD *014051312245* "s"
|
||||
#WORD *014061751446* "sabota"
|
||||
#WORD *014062725476* "safety"
|
||||
#WORD *014063543227* "sailor"
|
||||
#WORD *014066325061* "satell"
|
||||
#WORD *014066724245* "save"
|
||||
#WORD *014067512245* "say"
|
||||
#WORD *014071312245* "sb"
|
||||
#WORD *014101547152* "scanne"
|
||||
#WORD *014103544731* "scimit"
|
||||
#WORD *014105152505* "scope"
|
||||
#WORD *014105156505* "score"
|
||||
#WORD *014105724322* "scream"
|
||||
#WORD *014105724523* "screen"
|
||||
#WORD *014105725605* "screw"
|
||||
#WORD *014105735271* "script"
|
||||
#WORD *014105765456* "scruti"
|
||||
#WORD *014121312245* "se"
|
||||
#WORD *014121512245* "sea"
|
||||
#WORD *014121520331* "seacat"
|
||||
#WORD *014121556415* "search"
|
||||
#WORD *014121561446* "seasta"
|
||||
#WORD *014121562245* "seat"
|
||||
#WORD *014121570331* "seawat"
|
||||
#WORD *014122162724* "sectio"
|
||||
#WORD *014122165352* "secure"
|
||||
#WORD *014122165356* "securi"
|
||||
#WORD *014122512245* "see"
|
||||
#WORD *014123576505* "seize"
|
||||
#WORD *014124722245* "send"
|
||||
#WORD *014125735232* "seriou"
|
||||
#WORD *014126312245* "set"
|
||||
#WORD *014126725145* "seven"
|
||||
#WORD *014126725171* "sevent"
|
||||
#WORD *014151522505* "shade"
|
||||
#WORD *014151543045* "shall"
|
||||
#WORD *014151552511* "shaped"
|
||||
#WORD *014151557223* "sharon"
|
||||
#WORD *014152512245* "she"
|
||||
#WORD *014152513430* "she's"
|
||||
#WORD *014152542545* "shelf"
|
||||
#WORD *014152543552* "shelve"
|
||||
#WORD *014153552245* "ship"
|
||||
#WORD *014153562245* "shit"
|
||||
#WORD *014155151445* "shoot"
|
||||
#WORD *014155152245* "shop"
|
||||
#WORD *014155165051* "should"
|
||||
#WORD *014155165445* "shout"
|
||||
#WORD *014155170245* "show"
|
||||
#WORD *014156562245* "shut"
|
||||
#WORD *014162530521* "siegel"
|
||||
#WORD *014163146245* "sign"
|
||||
#WORD *014163146321* "signal"
|
||||
#WORD *014166312245* "sit"
|
||||
#WORD *014167312245* "six"
|
||||
#WORD *014167362512* "sixtee"
|
||||
#WORD *014167363705* "sixty"
|
||||
#WORD *014203544245* "skim"
|
||||
#WORD *014211552245* "slap"
|
||||
#WORD *014213522723* "slidin"
|
||||
#WORD *014215170245* "slow"
|
||||
#WORD *014215170527* "slower"
|
||||
#WORD *014215171076* "slowly"
|
||||
#WORD *014216530245* "slug"
|
||||
#WORD *014221543045* "small"
|
||||
#WORD *014221560645* "smash"
|
||||
#WORD *014222543045* "smell"
|
||||
#WORD *014223542505* "smile"
|
||||
#WORD *014225140505* "smoke"
|
||||
#WORD *014231553415* "snapsh"
|
||||
#WORD *014231557005* "snark"
|
||||
#WORD *014233526545* "sniff"
|
||||
#WORD *014235162245* "snot"
|
||||
#WORD *014244524245* "some"
|
||||
#WORD *014244525455* "someth"
|
||||
#WORD *014244715345* "sonar"
|
||||
#WORD *014244715365* "sonarp"
|
||||
#WORD *014244715370* "sonars"
|
||||
#WORD *014245146245* "soon"
|
||||
#WORD *014246112245* "sos"
|
||||
#WORD *014246546445* "sound"
|
||||
#WORD *014246562645* "south"
|
||||
#WORD *014246562652* "southe"
|
||||
#WORD *014246562674* "southw"
|
||||
#WORD *014251520505* "space"
|
||||
#WORD *014251556505* "spare"
|
||||
#WORD *014252515005* "speak"
|
||||
#WORD *014252515012* "speake"
|
||||
#WORD *014252520706* "specia"
|
||||
#WORD *014252524445* "speed"
|
||||
#WORD *014255724311* "spread"
|
||||
#WORD *014266515352* "square"
|
||||
#WORD *014311535145* "stain"
|
||||
#WORD *014311546445* "stand"
|
||||
#WORD *014311546456* "standi"
|
||||
#WORD *014311556364* "starbo"
|
||||
#WORD *014311556505* "stare"
|
||||
#WORD *014311557445* "start"
|
||||
#WORD *014311557452* "starte"
|
||||
#WORD *014311557461* "startl"
|
||||
#WORD *014311562505* "state"
|
||||
#WORD *014311562724* "statio"
|
||||
#WORD *014311574245* "stay"
|
||||
#WORD *014312515045* "steal"
|
||||
#WORD *014312525045* "steel"
|
||||
#WORD *014312525345* "steer"
|
||||
#WORD *014312546416* "stenci"
|
||||
#WORD *014313521005* "stick"
|
||||
#WORD *014313543045* "still"
|
||||
#WORD *014315152245* "stop"
|
||||
#WORD *014315156314* "storag"
|
||||
#WORD *014315157705* "story"
|
||||
#WORD *014315715154* "strang"
|
||||
#WORD *014315715605* "straw"
|
||||
#WORD *014315735012* "strike"
|
||||
#WORD *014316523705* "study"
|
||||
#WORD *014316526545* "stuff"
|
||||
#WORD *014321712245* "sub"
|
||||
#WORD *014321713430* "sub's"
|
||||
#WORD *014321744327* "submar"
|
||||
#WORD *014321744527* "submer"
|
||||
#WORD *014322140245* "suck"
|
||||
#WORD *014324545223* "summon"
|
||||
#WORD *014325325345* "super"
|
||||
#WORD *014325325347* "superb"
|
||||
#WORD *014325353056* "suppli"
|
||||
#WORD *014325353076* "supply"
|
||||
#WORD *014325724245* "sure"
|
||||
#WORD *014325726310* "surfac"
|
||||
#WORD *014325753356* "surpri"
|
||||
#WORD *014325766733* "surviv"
|
||||
#WORD *014326152523* "suspen"
|
||||
#WORD *014341312245* "sw"
|
||||
#WORD *014341543064* "swallo"
|
||||
#WORD *014343544245* "swim"
|
||||
#WORD *014343546605* "swing"
|
||||
#WORD *014343562415* "switch"
|
||||
#WORD *014365735154* "syring"
|
||||
#WORD *014366162522* "system"
|
||||
#WORD *014461742505* "table"
|
||||
#WORD *014464124245* "take"
|
||||
#WORD *014464340245* "talk"
|
||||
#WORD *014464740245* "tank"
|
||||
#WORD *014521556245* "tear"
|
||||
#WORD *014522133156* "techni"
|
||||
#WORD *014524342245* "tell"
|
||||
#WORD *014524552527* "temper"
|
||||
#WORD *014524553227* "tempor"
|
||||
#WORD *014524712245* "ten"
|
||||
#WORD *014526162245* "test"
|
||||
#WORD *014526162527* "tester"
|
||||
#WORD *014526163227* "testor"
|
||||
#WORD *014551547005* "thank"
|
||||
#WORD *014551547030* "thanks"
|
||||
#WORD *014551562270* "that'"
|
||||
#WORD *014552512245* "the"
|
||||
#WORD *014552544245* "them"
|
||||
#WORD *014552546245* "then"
|
||||
#WORD *014552556505* "there"
|
||||
#WORD *014552560505* "these"
|
||||
#WORD *014552574245* "they"
|
||||
#WORD *014552574270* "they'"
|
||||
#WORD *014553546605* "thing"
|
||||
#WORD *014553557452* "thirte"
|
||||
#WORD *014553557476* "thirty"
|
||||
#WORD *014553560245* "this"
|
||||
#WORD *014555157252* "thorpe"
|
||||
#WORD *014555165406* "thousa"
|
||||
#WORD *014555724331* "threat"
|
||||
#WORD *014555724505* "three"
|
||||
#WORD *014555751471* "thrott"
|
||||
#WORD *014555751514* "throug"
|
||||
#WORD *014555751605* "throw"
|
||||
#WORD *014555764245* "thru"
|
||||
#WORD *014562512245* "tie"
|
||||
#WORD *014564342245* "till"
|
||||
#WORD *014565312245* "tip"
|
||||
#WORD *014565313430* "tip's"
|
||||
#WORD *014641312245* "to"
|
||||
#WORD *014645142245* "tool"
|
||||
#WORD *014645312245* "top"
|
||||
#WORD *014646160245* "toss"
|
||||
#WORD *014646520645* "touch"
|
||||
#WORD *014671520505* "trace"
|
||||
#WORD *014671521005* "track"
|
||||
#WORD *014671521464* "tracto"
|
||||
#WORD *014671535464* "traito"
|
||||
#WORD *014671547005* "trank"
|
||||
#WORD *014671547332* "tranqu"
|
||||
#WORD *014671547422* "transm"
|
||||
#WORD *014671547425* "transp"
|
||||
#WORD *014671552245* "trap"
|
||||
#WORD *014675164361* "troubl"
|
||||
#WORD *014723112245* "tug"
|
||||
#WORD *014724724245* "tune"
|
||||
#WORD *014725716723* "turbin"
|
||||
#WORD *014725746245* "turn"
|
||||
#WORD *014725747405* "turns"
|
||||
#WORD *014742543552* "twelve"
|
||||
#WORD *014742547476* "twenty"
|
||||
#WORD *014745112245* "two"
|
||||
#WORD *015051312245* "u"
|
||||
#WORD *015216356322* "ultram"
|
||||
#WORD *015231563446* "unatta"
|
||||
#WORD *015232164553* "uncuff"
|
||||
#WORD *015232325345* "under"
|
||||
#WORD *015232325363* "undern"
|
||||
#WORD *015232325370* "unders"
|
||||
#WORD *015232325374* "underw"
|
||||
#WORD *015232715431* "unfast"
|
||||
#WORD *015233351220* "unhook"
|
||||
#WORD *015233562245* "unit"
|
||||
#WORD *015233566527* "univer"
|
||||
#WORD *015234335116* "unlimi"
|
||||
#WORD *015234350420* "unlock"
|
||||
#WORD *015236121356* "unscri"
|
||||
#WORD *015236334505* "untie"
|
||||
#WORD *015236335045* "until"
|
||||
#WORD *015251312245* "up"
|
||||
#WORD *015273125171* "urgent"
|
||||
#WORD *015301312245* "us"
|
||||
#WORD *015302512245* "use"
|
||||
#WORD *015303546605* "using"
|
||||
#WORD *015464364307* "valuab"
|
||||
#WORD *015464366505* "valve"
|
||||
#WORD *015464366530* "valves"
|
||||
#WORD *015525717230* "verbos"
|
||||
#WORD *015525760724* "versio"
|
||||
#WORD *015562325205* "video"
|
||||
#WORD *015562325225* "videop"
|
||||
#WORD *015562571264* "viewpo"
|
||||
#WORD *015644362314* "voltag"
|
||||
#WORD *016051312245* "w"
|
||||
#WORD *016062324245* "wade"
|
||||
#WORD *016063562245* "wait"
|
||||
#WORD *016064124245* "wake"
|
||||
#WORD *016064340245* "walk"
|
||||
#WORD *016064341606* "walkwa"
|
||||
#WORD *016064342245* "wall"
|
||||
#WORD *016064362245* "walt"
|
||||
#WORD *016064362270* "walt'"
|
||||
#WORD *016065744245* "warm"
|
||||
#WORD *016065746723* "warnin"
|
||||
#WORD *016066112245* "was"
|
||||
#WORD *016066325345* "water"
|
||||
#WORD *016121312245* "we"
|
||||
#WORD *016121361352* "we're"
|
||||
#WORD *016121553223* "weapon"
|
||||
#WORD *016124342245* "well"
|
||||
#WORD *016125724245* "were"
|
||||
#WORD *016126162245* "west"
|
||||
#WORD *016151542505* "whale"
|
||||
#WORD *016151562245* "what"
|
||||
#WORD *016151562270* "what'"
|
||||
#WORD *016152546245* "when"
|
||||
#WORD *016152546270* "when'"
|
||||
#WORD *016152556505* "where"
|
||||
#WORD *016153520645* "which"
|
||||
#WORD *016155112245* "who"
|
||||
#WORD *016155113430* "who's"
|
||||
#WORD *016157512245* "why"
|
||||
#WORD *016164321205* "wilco"
|
||||
#WORD *016164342245* "will"
|
||||
#WORD *016164722245* "wind"
|
||||
#WORD *016164723234* "window"
|
||||
#WORD *016164740245* "wink"
|
||||
#WORD *016165324245* "wipe"
|
||||
#WORD *016166332245* "with"
|
||||
#WORD *016244515145* "woman"
|
||||
#WORD *016244713431* "won't"
|
||||
#WORD *016245740245* "work"
|
||||
#WORD *016245740352* "workbe"
|
||||
#WORD *016245740424* "workco"
|
||||
#WORD *016245741415* "worksh"
|
||||
#WORD *016246542445* "would"
|
||||
#WORD *016272546415* "wrench"
|
||||
#WORD *017051312245* "y"
|
||||
#WORD *017121532245* "yeah"
|
||||
#WORD *017124342245* "yell"
|
||||
#WORD *017124343234* "yellow"
|
||||
#WORD *017126112245* "yes"
|
||||
#WORD *017246512245* "you"
|
||||
#WORD *017246513427* "you'r"
|
||||
#WORD *017246546605* "young"
|
||||
#WORD *017246557412* "yourse"
|
||||
#WORD *017325312245* "yup"
|
||||
#WORD *017451312245* "z"
|
||||
#WORD *017525750245* "zero"
|
||||
#WORD *017642512245* "zoe"
|
||||
#WORD *017642513430* "zoe's"
|
||||
#WORD *017777742605* "zzzlg"
|
||||
#WORD *017777777054* "zzzzlg"
|
||||
18
j1.xzap
Normal file
18
j1.xzap
Normal file
@@ -0,0 +1,18 @@
|
||||
.INSERT "J1FREQ"
|
||||
.INSERT "J1DAT"
|
||||
.INSERT "MACROS"
|
||||
.INSERT "MAIN"
|
||||
.INSERT "CLOCK"
|
||||
.INSERT "SUB"
|
||||
.INSERT "BATTLE"
|
||||
.INSERT "DOME"
|
||||
.INSERT "PLACES"
|
||||
.INSERT "PEOPLE"
|
||||
.INSERT "THINGS"
|
||||
.INSERT "GLOBAL"
|
||||
.INSERT "PARSER"
|
||||
.INSERT "SYNTAX"
|
||||
.INSERT "VERBS"
|
||||
.INSERT "EVENTS"
|
||||
.INSERT "J1STR"
|
||||
.END
|
||||
52
j1.zbin
Normal file
52
j1.zbin
Normal file
@@ -0,0 +1,52 @@
|
||||
"COMPILE/LOAD FILE for SEASTALKER
|
||||
Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<PRINC "Compiling">
|
||||
<SETG ZSTR-ON <SETG ZSTR-OFF ,TIME>>
|
||||
<ID 0>)
|
||||
(T <PRINC "Loading">)>
|
||||
|
||||
<PRINC " SEASTALKER: junior-level interactive fiction from Infocom!">
|
||||
|
||||
<BLOAT 90000 0 0 3500 0 0 0 0 0 512>
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<GLOBAL BIGFIX 10000>
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
||||
|
||||
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
|
||||
<INSERT-FILE .STR .FLOAD?>>
|
||||
|
||||
;<DIRECTIONS NORTH SOUTH EAST WEST NE NW SE SW UP DOWN IN OUT>
|
||||
<DIRECTIONS ;"Do not change the order of the first eight
|
||||
without consulting MARC! -- ENCHANTER"
|
||||
NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
|
||||
|
||||
<IFILE "MACROS.ZEN" T>
|
||||
<IFILE "SYNTAX.ZEN" T>
|
||||
<IFILE "MAIN.ZEN" T>
|
||||
|
||||
<IFILE "SUB.ZEN" T>
|
||||
<IFILE "BATTLE.ZEN" T>
|
||||
<IFILE "THINGS.ZEN" T>
|
||||
<IFILE "DOME.ZEN" T>
|
||||
|
||||
<IFILE "PEOPLE.ZEN" T>
|
||||
<IFILE "PLACES.ZEN" T>
|
||||
<IFILE "GLOBAL.ZEN" T>
|
||||
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
||||
|
||||
<IFILE "CLOCK.ZEN" T>
|
||||
<ENDLOAD>
|
||||
<IFILE "PARSER.ZEN" T>
|
||||
<IFILE "VERBS.ZEN" T>
|
||||
<IFILE "EVENTS.ZEN" T>
|
||||
|
||||
<GC-MON T>
|
||||
<GC 0 T 5>
|
||||
15
j1.zebra
Normal file
15
j1.zebra
Normal file
@@ -0,0 +1,15 @@
|
||||
.INSERT "MACROS"
|
||||
.INSERT "SYNTAX"
|
||||
.INSERT "MAIN"
|
||||
.INSERT "SUB"
|
||||
.INSERT "BATTLE"
|
||||
.INSERT "THINGS"
|
||||
.INSERT "DOME"
|
||||
.INSERT "PEOPLE"
|
||||
.INSERT "PLACES"
|
||||
.INSERT "GLOBAL"
|
||||
.INSERT "CLOCK"
|
||||
.INSERT "PARSER"
|
||||
.INSERT "VERBS"
|
||||
.INSERT "EVENTS"
|
||||
.END
|
||||
38
j1.zil
38
j1.zil
@@ -3,16 +3,23 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<PRINC "Compiling">
|
||||
<SETG ZSTR-ON <SETG ZSTR-OFF ,TIME>>
|
||||
<ID 0>)
|
||||
(T <PRINC "Loading">)>
|
||||
|
||||
<PRINC " SEASTALKER: junior-level interactive fiction from Infocom!">
|
||||
|
||||
<BLOAT 90000 0 0 3500 0 0 0 0 0 512>
|
||||
ON!-INITIAL "for DEBUGR"
|
||||
OFF!-INITIAL
|
||||
ENABLE!-INITIAL
|
||||
DISABLE!-INITIAL
|
||||
|
||||
<COND (<GASSIGNED? MUDDLE>
|
||||
<BLOAT 90000 0 0 3500 0 0 0 0 0 512>)>
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
<GLOBAL BIGFIX 10000>
|
||||
"<GLOBAL BIGFIX 10000>"
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
||||
@@ -20,7 +27,6 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
|
||||
<INSERT-FILE .STR .FLOAD?>>
|
||||
|
||||
;<DIRECTIONS NORTH SOUTH EAST WEST NE NW SE SW UP DOWN IN OUT>
|
||||
<DIRECTIONS ;"Do not change the order of the first eight
|
||||
without consulting MARC! -- ENCHANTER"
|
||||
NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
|
||||
@@ -28,28 +34,24 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<IFILE "MACROS" T>
|
||||
<IFILE "SYNTAX" T>
|
||||
<IFILE "MAIN" T>
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<IFILE "SUB" T>
|
||||
<IFILE "BATTLE" T>
|
||||
<IFILE "THINGS" T>
|
||||
<IFILE "DOME" T>)>
|
||||
<IFILE "SUB" T>
|
||||
<IFILE "BATTLE" T>
|
||||
<IFILE "THINGS" T>
|
||||
<IFILE "DOME" T>
|
||||
|
||||
<IFILE "PEOPLE" T>
|
||||
<IFILE "PLACES" T>
|
||||
<IFILE "GLOBAL" T>
|
||||
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
||||
|
||||
<CONSTANT SERIAL 0>
|
||||
<IFILE "CLOCK" T>
|
||||
<ENDLOAD>
|
||||
<IFILE "PARSER" T>
|
||||
<IFILE "VERBS" T>
|
||||
<COND (<GASSIGNED? PREDGEN> <IFILE "EVENTS" T>)>
|
||||
<IFILE "EVENTS" T>
|
||||
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
||||
|
||||
<GC-MON T>
|
||||
<GC 0 T 5>
|
||||
|
||||
<COND (<NOT <GASSIGNED? PREDGEN>>
|
||||
<CLOSE!- ,XTELLCHAN>)>
|
||||
<COND (<GASSIGNED? MUDDLE>
|
||||
<GC 0 T 5>)>
|
||||
|
||||
200
j1freq.xzap
Normal file
200
j1freq.xzap
Normal file
@@ -0,0 +1,200 @@
|
||||
.FSTR FSTR?1,"the " ;1712 856
|
||||
.FSTR FSTR?2,", " ;612 612
|
||||
.FSTR FSTR?3,"The " ;579 193
|
||||
.FSTR FSTR?4,"You " ;537 179
|
||||
.FSTR FSTR?5,"you " ;530 265
|
||||
.FSTR FSTR?6,"and " ;438 219
|
||||
.FSTR FSTR?7,"You're " ;420 60
|
||||
.FSTR FSTR?8,"to " ;408 408
|
||||
.FSTR FSTR?9,"There's " ;368 46
|
||||
.FSTR FSTR?10,"your " ;357 119
|
||||
.FSTR FSTR?11,"It's " ;345 69
|
||||
.FSTR FSTR?12,". " ;331 331
|
||||
.FSTR FSTR?13,"can't " ;325 65
|
||||
.FSTR FSTR?14,"that " ;288 96
|
||||
.FSTR FSTR?15,"is " ;244 244
|
||||
.FSTR FSTR?16,"of " ;239 239
|
||||
.FSTR FSTR?17,"have " ;237 79
|
||||
.FSTR FSTR?18,"with " ;219 73
|
||||
.FSTR FSTR?19,"from " ;189 63
|
||||
.FSTR FSTR?20,"in " ;172 172
|
||||
.FSTR FSTR?21,"don't " ;170 34
|
||||
.FSTR FSTR?22,"I " ;164 164
|
||||
.FSTR FSTR?23,"for " ;160 80
|
||||
.FSTR FSTR?24,"can " ;156 78
|
||||
.FSTR FSTR?25,"you're " ;156 26
|
||||
.FSTR FSTR?26,"should " ;150 30
|
||||
.FSTR FSTR?27,"This " ;140 35
|
||||
.FSTR FSTR?28,"! " ;133 133
|
||||
.FSTR FSTR?29,"That's " ;133 19
|
||||
.FSTR FSTR?30,"Suddenly " ;128 16
|
||||
.FSTR FSTR?31,"about " ;124 31
|
||||
.FSTR FSTR?32,"through " ;120 20
|
||||
.FSTR FSTR?33,"on " ;117 117
|
||||
.FSTR FSTR?34,"want " ;114 38
|
||||
.FSTR FSTR?35,"not " ;110 55
|
||||
.FSTR FSTR?36,"think " ;108 27
|
||||
.FSTR FSTR?37,"nothing " ;108 18
|
||||
.FSTR FSTR?38,"it " ;107 107
|
||||
.FSTR FSTR?39,"just " ;105 35
|
||||
.FSTR FSTR?40,"find " ;105 35
|
||||
.FSTR FSTR?41,"out " ;104 52
|
||||
.FSTR FSTR?42,"something " ;104 13
|
||||
.FSTR FSTR?43,"this " ;102 34
|
||||
.FSTR FSTR?44,"but " ;100 50
|
||||
.FSTR FSTR?45,"will " ;96 32
|
||||
.FSTR FSTR?46,"Your " ;96 24
|
||||
.FSTR FSTR?47,"That " ;96 24
|
||||
.FSTR FSTR?48,"has " ;94 47
|
||||
.FSTR FSTR?49,"doesn't " ;91 13
|
||||
.FSTR FSTR?50,"You'll " ;91 13
|
||||
.FSTR FSTR?51,"Greenup " ;91 13
|
||||
.FSTR FSTR?52,"here" ;88 44
|
||||
.FSTR FSTR?53,"still " ;88 22
|
||||
.FSTR FSTR?54,"could " ;88 22
|
||||
.FSTR FSTR?55,"I'm " ;88 22
|
||||
.FSTR FSTR?56,"into " ;87 29
|
||||
.FSTR FSTR?57,"that" ;86 43
|
||||
.FSTR FSTR?58,"around " ;85 17
|
||||
.FSTR FSTR?59,"Tip " ;84 28
|
||||
.FSTR FSTR?60,"control " ;84 14
|
||||
.FSTR FSTR?61,"Thorpe " ;84 14
|
||||
.FSTR FSTR?62,"Sharon " ;84 14
|
||||
.FSTR FSTR?63,"looks " ;80 20
|
||||
.FSTR FSTR?64,"Sorry" ;80 20
|
||||
.FSTR FSTR?65,"won't " ;80 16
|
||||
.FSTR FSTR?66,"monster " ;78 13
|
||||
.FSTR FSTR?67,"anything " ;77 11
|
||||
.FSTR FSTR?68,"see " ;76 38
|
||||
.FSTR FSTR?69,"open " ;75 25
|
||||
.FSTR FSTR?70,"must " ;75 25
|
||||
.FSTR FSTR?71,"are " ;74 37
|
||||
.FSTR FSTR?72,"Okay" ;72 24
|
||||
.FSTR FSTR?73,"looking " ;72 12
|
||||
.FSTR FSTR?74,"didn't " ;72 12
|
||||
.FSTR FSTR?75,"at " ;71 71
|
||||
.FSTR FSTR?76,"now " ;70 35
|
||||
.FSTR FSTR?77,"It " ;70 35
|
||||
.FSTR FSTR?78,"meters " ;70 14
|
||||
.FSTR FSTR?79,"isn't " ;70 14
|
||||
.FSTR FSTR?80,"engine " ;70 14
|
||||
.FSTR FSTR?81,"would " ;68 17
|
||||
.FSTR FSTR?82,"right " ;68 17
|
||||
.FSTR FSTR?83,"better " ;65 13
|
||||
.FSTR FSTR?84,"I'll " ;65 13
|
||||
.FSTR FSTR?85,"be " ;64 64
|
||||
.FSTR FSTR?86,"what " ;63 21
|
||||
.FSTR FSTR?87,"do " ;61 61
|
||||
.FSTR FSTR?88,"tank " ;60 20
|
||||
.FSTR FSTR?89,"like " ;60 20
|
||||
.FSTR FSTR?90,"under " ;60 15
|
||||
.FSTR FSTR?91,"comes " ;60 15
|
||||
.FSTR FSTR?92,"sitting " ;60 10
|
||||
.FSTR FSTR?93,"docking " ;60 10
|
||||
.FSTR FSTR?94,"already " ;60 10
|
||||
.FSTR FSTR?95,"take " ;57 19
|
||||
.FSTR FSTR?96,"But " ;57 19
|
||||
|
||||
|
||||
;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
|
||||
369
j1str.zap
369
j1str.zap
@@ -22,195 +22,184 @@
|
||||
.GSTR STR?18,"not close enough to the claw"
|
||||
.GSTR STR?19,"take"
|
||||
.GSTR STR?20,"push"
|
||||
.GSTR STR?21,"east"
|
||||
.GSTR STR?22,"south"
|
||||
.GSTR STR?23,"open"
|
||||
.GSTR STR?24,"under water"
|
||||
.GSTR STR?25,"clean enough"
|
||||
.GSTR STR?26,"The space is dimly illuminated by small work lights, but you can see machinery everywhere."
|
||||
.GSTR STR?27,"The only way out is ""OUT""."
|
||||
.GSTR STR?28,"(You'll find that information in your SEASTALKER package.)"
|
||||
.GSTR STR?29,"fixed"
|
||||
.GSTR STR?30,"orange"
|
||||
.GSTR STR?31,"red"
|
||||
.GSTR STR?32,"changes to orange"
|
||||
.GSTR STR?33,"fades to dark again"
|
||||
.GSTR STR?34,"turns red"
|
||||
.GSTR STR?35,"continues to sound."
|
||||
.GSTR STR?36,"ceases."
|
||||
.GSTR STR?37,"rises to a shriller whine."
|
||||
.GSTR STR?38,"Sonar shows the object reaching from the surface of the bay downward to a depth of 10 meters. This must be the keel of a freighter entering the harbor. It's moving toward the waterfront at the rate of 1 sea square per turn."
|
||||
.GSTR STR?39,"The yellow light on the sonarscope continues to glow."
|
||||
.GSTR STR?40,"The red light on the sonarscope continues to glow, and the buzzer also continues to sound."
|
||||
.GSTR STR?41,"looking at it"
|
||||
.GSTR STR?42,"set to automatic"
|
||||
.GSTR STR?43,"set to manual"
|
||||
.GSTR STR?44,"off"
|
||||
.GSTR STR?45,"n"
|
||||
.GSTR STR?46,"ff"
|
||||
.GSTR STR?47,"on"
|
||||
.GSTR STR?48,"start"
|
||||
.GSTR STR?49,"turned on"
|
||||
.GSTR STR?50,"stop"
|
||||
.GSTR STR?51,"slow"
|
||||
.GSTR STR?52,"medium"
|
||||
.GSTR STR?53,"fast"
|
||||
.GSTR STR?54,"submerge"
|
||||
.GSTR STR?55,"here"
|
||||
.GSTR STR?56,"at that depth"
|
||||
.GSTR STR?57,"There's a dart gun here."
|
||||
.GSTR STR?58,"find"
|
||||
.GSTR STR?59,"mounted"
|
||||
.GSTR STR?60,"aim"
|
||||
.GSTR STR?61,"in the way"
|
||||
.GSTR STR?62,"The bazooka is mounted on a claw."
|
||||
.GSTR STR?63,"The dart is mounted on a claw."
|
||||
.GSTR STR?64,"ask"
|
||||
.GSTR STR?65,"shout"
|
||||
.GSTR STR?66,"There's a bazooka here."
|
||||
.GSTR STR?67,"""It's sensitive to the signals on its RIGHT side. Thorpe has installed a sonar transducer on the LEFT or PORT side of this sub. He has to stay on the same side of the monster all the time."""
|
||||
.GSTR STR?68,"Sharon says, ""Notice how we keep 5 meters to the monster's right and 5 meters behind its nose. The Sea Cat is programmed that way, so the signals reach the monster with enough strength to keep it in control."""
|
||||
.GSTR STR?69,"Undersea Research Station"
|
||||
.GSTR STR?70,"empty"
|
||||
.GSTR STR?71,"full"
|
||||
.GSTR STR?72,"full of people"
|
||||
.GSTR STR?73,"You can go down to the north or south."
|
||||
.GSTR STR?74,"say"
|
||||
.GSTR STR?75,"On each side"
|
||||
.GSTR STR?76,"In each corner"
|
||||
.GSTR STR?77,"refuse"
|
||||
.GSTR STR?78,"other "
|
||||
.GSTR STR?79,"the "
|
||||
.GSTR STR?80,"It's stamped: ""AIR SUPPLY SYSTEM / Fram Bolt Wrench."""
|
||||
.GSTR STR?81,"It has screw threads."
|
||||
.GSTR STR?82,"It's sitting neatly in place."
|
||||
.GSTR STR?83,"ea"
|
||||
.GSTR STR?84,"we"
|
||||
.GSTR STR?85,"nor"
|
||||
.GSTR STR?86,"sou"
|
||||
.GSTR STR?87,"looking out"
|
||||
.GSTR STR?88,"playing with"
|
||||
.GSTR STR?89,"""I can't help you there."""
|
||||
.GSTR STR?90,"""That has nothing to do with me."""
|
||||
.GSTR STR?91,"is "
|
||||
.GSTR STR?92,"at "
|
||||
.GSTR STR?93,"working on the SCIMITAR"
|
||||
.GSTR STR?94,"""Wilco, "
|
||||
.GSTR STR?95,"working on the sonar equipment"
|
||||
.GSTR STR?96,"""If you think that will help, do it!"""
|
||||
.GSTR STR?97,"""I think you can do that better yourself."""
|
||||
.GSTR STR?98,"the bottom"
|
||||
.GSTR STR?99,"an obstacle"
|
||||
.GSTR STR?100,"looking at you anxiously"
|
||||
.GSTR STR?101,"collapsing on the floor"
|
||||
.GSTR STR?102,"recovering from collapse"
|
||||
.GSTR STR?103,"using Oxygen Gear"
|
||||
.GSTR STR?104,"north"
|
||||
.GSTR STR?105,"west"
|
||||
.GSTR STR?106,"northwest"
|
||||
.GSTR STR?107,"northeast"
|
||||
.GSTR STR?108,"southwest"
|
||||
.GSTR STR?109,"southeast"
|
||||
.GSTR STR?110,"downstairs"
|
||||
.GSTR STR?111,"upstairs"
|
||||
.GSTR STR?112,"in"
|
||||
.GSTR STR?113,"out"
|
||||
.GSTR STR?114,"A circuit breaker is open on the Electrical Panel."
|
||||
.GSTR STR?115,"There's so much junk in here that there's barely enough room for you."
|
||||
.GSTR STR?116,"The file drawer is filled with a lot of business papers."
|
||||
.GSTR STR?117,"Screenplay by Jim Lawrence
|
||||
"
|
||||
.GSTR STR?118,"A microphone is sitting on your workbench."
|
||||
.GSTR STR?119,"You have to go north to board the SCIMITAR."
|
||||
.GSTR STR?120,". The hatch is "
|
||||
.GSTR STR?121,".
|
||||
"
|
||||
.GSTR STR?122,"This vast enterprise was originally founded by your father, a world-famous inventor. You have added even greater luster to the family name with your own unique inventions."
|
||||
.GSTR STR?123,"in it"
|
||||
.GSTR STR?124,"careful"
|
||||
.GSTR STR?125,"brief"
|
||||
.GSTR STR?126,"is"
|
||||
.GSTR STR?127,"can be"
|
||||
.GSTR STR?128,"???"
|
||||
.GSTR STR?129,"(I don't know the word """
|
||||
.GSTR STR?130,""".)"
|
||||
.GSTR STR?131,"ere"
|
||||
.GSTR STR?132,"at"
|
||||
.GSTR STR?133,"begin"
|
||||
.GSTR STR?134,"end"
|
||||
.GSTR STR?135,"superbrief"
|
||||
.GSTR STR?136,"verbose"
|
||||
.GSTR STR?137,"(Sorry, but it didn't work. Maybe your instruction manual or Reference Card can tell you why.)"
|
||||
.GSTR STR?138,"go"
|
||||
.GSTR STR?139," doesn't help any."
|
||||
.GSTR STR?140," is a waste of time."
|
||||
.GSTR STR?141," "
|
||||
.GSTR STR?142," "
|
||||
.GSTR STR?143," "
|
||||
.GSTR STR?144," "
|
||||
.GSTR STR?145," "
|
||||
.GSTR STR?146,"(I assume you mean:"
|
||||
.GSTR STR?147," doesn't appear interested"
|
||||
.GSTR STR?148," doesn't care"
|
||||
.GSTR STR?149," lets out a loud yawn"
|
||||
.GSTR STR?150," seems to be growing impatient"
|
||||
.GSTR STR?151,"That's ridiculous!"
|
||||
.GSTR STR?152,"That's wacky!"
|
||||
.GSTR STR?153,"What a fruitcake!"
|
||||
.GSTR STR?154,"What a screwball!"
|
||||
.GSTR STR?155,"You're off your rocker!"
|
||||
.GSTR STR?156,"You're crazy in the head!"
|
||||
.GSTR STR?157,"You can't be serious!"
|
||||
.GSTR STR?158,"seem"
|
||||
.GSTR STR?159,"escape"
|
||||
.GSTR STR?160,"attack"
|
||||
.GSTR STR?161,"not wired for phoning"
|
||||
.GSTR STR?162,"climb onto"
|
||||
.GSTR STR?163,"on the deck"
|
||||
.GSTR STR?164,"on the floor"
|
||||
.GSTR STR?165,"Hello"
|
||||
.GSTR STR?166,"Good-bye"
|
||||
.GSTR STR?167,"(You'll find plenty of help in your SEASTALKER package.
|
||||
If you're really stuck, you can order an InvisiClues (TM) hint booklet either with the form in your package or by writing to:
|
||||
Infocom, Dept. A2, P.O. Box 620, Garden City, NY 11530.)"
|
||||
.GSTR STR?168,"Kicking"
|
||||
.GSTR STR?169,"kill"
|
||||
.GSTR STR?170,"kisse"
|
||||
.GSTR STR?171,"standing up"
|
||||
.GSTR STR?172,"look inside"
|
||||
.GSTR STR?173,"look outside"
|
||||
.GSTR STR?174,"locked"
|
||||
.GSTR STR?175,"Pushing"
|
||||
.GSTR STR?176,"pick up"
|
||||
.GSTR STR?177,"Fiddling with"
|
||||
.GSTR STR?178,"talk into"
|
||||
.GSTR STR?179,"screw in"
|
||||
.GSTR STR?180,"her"
|
||||
.GSTR STR?181,"his"
|
||||
.GSTR STR?182,"shoot"
|
||||
.GSTR STR?183,"slap"
|
||||
.GSTR STR?184,"smell"
|
||||
.GSTR STR?185,"holding it"
|
||||
.GSTR STR?186,"reach"
|
||||
.GSTR STR?187,"talk to"
|
||||
.GSTR STR?188," ducks"
|
||||
.GSTR STR?189," doesn't duck"
|
||||
.GSTR STR?190,"turn off"
|
||||
.GSTR STR?191,"turn on"
|
||||
.GSTR STR?192,"unlocked"
|
||||
.GSTR STR?193,"wait until"
|
||||
.GSTR STR?194,"not asleep"
|
||||
.GSTR STR?195,"room."
|
||||
.GSTR STR?196,"go under"
|
||||
.GSTR STR?197,"beginning"
|
||||
.GSTR STR?198,"fair"
|
||||
.GSTR STR?199,"good"
|
||||
.GSTR STR?200,"very good"
|
||||
.GSTR STR?201,"master"
|
||||
.GSTR STR?202,"famous"
|
||||
.GSTR STR?203,"busy"
|
||||
.GSTR STR?204,"""I think you should reconsider."
|
||||
.GSTR STR?205,"is now"
|
||||
.GSTR STR?206,"now comes rushing back,"
|
||||
.GSTR STR?21,"open"
|
||||
.GSTR STR?22,"under water"
|
||||
.GSTR STR?23,"clean enough"
|
||||
.GSTR STR?24,"The space is dimly illuminated by small work lights, but you can see machinery everywhere."
|
||||
.GSTR STR?25,"The only way out is ""OUT""."
|
||||
.GSTR STR?26,"(You'll find that information in your SEASTALKER package.)"
|
||||
.GSTR STR?27,"fixed"
|
||||
.GSTR STR?28,"orange"
|
||||
.GSTR STR?29,"red"
|
||||
.GSTR STR?30,"changes to orange"
|
||||
.GSTR STR?31,"fades to dark again"
|
||||
.GSTR STR?32,"turns red"
|
||||
.GSTR STR?33,"continues to sound."
|
||||
.GSTR STR?34,"ceases."
|
||||
.GSTR STR?35,"rises to a shriller whine."
|
||||
.GSTR STR?36,"looking at it"
|
||||
.GSTR STR?37,"set to automatic"
|
||||
.GSTR STR?38,"set to manual"
|
||||
.GSTR STR?39,"off"
|
||||
.GSTR STR?40,"n"
|
||||
.GSTR STR?41,"ff"
|
||||
.GSTR STR?42,"on"
|
||||
.GSTR STR?43,"start"
|
||||
.GSTR STR?44,"turned on"
|
||||
.GSTR STR?45,"stop"
|
||||
.GSTR STR?46,"slow"
|
||||
.GSTR STR?47,"medium"
|
||||
.GSTR STR?48,"fast"
|
||||
.GSTR STR?49,"submerge"
|
||||
.GSTR STR?50,"here"
|
||||
.GSTR STR?51,"at that depth"
|
||||
.GSTR STR?52,"de"
|
||||
.GSTR STR?53,"a"
|
||||
.GSTR STR?54,"There's a dart gun here."
|
||||
.GSTR STR?55,"find"
|
||||
.GSTR STR?56,"mounted"
|
||||
.GSTR STR?57,"aim"
|
||||
.GSTR STR?58,"in the way"
|
||||
.GSTR STR?59,"The bazooka is mounted on a claw."
|
||||
.GSTR STR?60,"The dart is mounted on a claw."
|
||||
.GSTR STR?61,"ask"
|
||||
.GSTR STR?62,"shout"
|
||||
.GSTR STR?63,"There's a bazooka here."
|
||||
.GSTR STR?64,"Undersea Research Station"
|
||||
.GSTR STR?65,"empty"
|
||||
.GSTR STR?66,"full"
|
||||
.GSTR STR?67,"full of people"
|
||||
.GSTR STR?68,"You can go down to the north or south."
|
||||
.GSTR STR?69,"say"
|
||||
.GSTR STR?70,"On each side"
|
||||
.GSTR STR?71,"In each corner"
|
||||
.GSTR STR?72,"refuse"
|
||||
.GSTR STR?73,"other "
|
||||
.GSTR STR?74,"the "
|
||||
.GSTR STR?75,"It's stamped: ""AIR SUPPLY SYSTEM / Fram Bolt Wrench."""
|
||||
.GSTR STR?76,"It has screw threads."
|
||||
.GSTR STR?77,"It's sitting neatly in place."
|
||||
.GSTR STR?78,"ea"
|
||||
.GSTR STR?79,"we"
|
||||
.GSTR STR?80,"nor"
|
||||
.GSTR STR?81,"sou"
|
||||
.GSTR STR?82,"looking out"
|
||||
.GSTR STR?83,"playing with"
|
||||
.GSTR STR?84,"""I can't help you there."""
|
||||
.GSTR STR?85,"""That has nothing to do with me."""
|
||||
.GSTR STR?86,"this "
|
||||
.GSTR STR?87,"that "
|
||||
.GSTR STR?88,"working on the SCIMITAR"
|
||||
.GSTR STR?89,"""Wilco, "
|
||||
.GSTR STR?90,"working on the sonar equipment"
|
||||
.GSTR STR?91,"""If you think that will help, do it!"""
|
||||
.GSTR STR?92,"""I think you can do that better yourself."""
|
||||
.GSTR STR?93,"the bottom"
|
||||
.GSTR STR?94,"an obstacle"
|
||||
.GSTR STR?95,"looking at you anxiously"
|
||||
.GSTR STR?96,"collapsing on the floor"
|
||||
.GSTR STR?97,"recovering from collapse"
|
||||
.GSTR STR?98,"using Oxygen Gear"
|
||||
.GSTR STR?99,"north"
|
||||
.GSTR STR?100,"south"
|
||||
.GSTR STR?101,"east"
|
||||
.GSTR STR?102,"west"
|
||||
.GSTR STR?103,"northwest"
|
||||
.GSTR STR?104,"northeast"
|
||||
.GSTR STR?105,"southwest"
|
||||
.GSTR STR?106,"southeast"
|
||||
.GSTR STR?107,"downstairs"
|
||||
.GSTR STR?108,"upstairs"
|
||||
.GSTR STR?109,"in"
|
||||
.GSTR STR?110,"out"
|
||||
.GSTR STR?111,"There's so much junk in here that there's barely enough room for you."
|
||||
.GSTR STR?112,"The file drawer is filled with a lot of business papers."
|
||||
.GSTR STR?113,"is"
|
||||
.GSTR STR?114,"A microphone is sitting on your workbench."
|
||||
.GSTR STR?115,"You have to go north to board the SCIMITAR."
|
||||
.GSTR STR?116,"This vast enterprise was originally founded by your father, a world-famous inventor. You have added even greater luster to the family name with your own unique inventions."
|
||||
.GSTR STR?117,"in it"
|
||||
.GSTR STR?118,"careful"
|
||||
.GSTR STR?119,"brief"
|
||||
.GSTR STR?120,"can be"
|
||||
.GSTR STR?121,"???"
|
||||
.GSTR STR?122,"ere"
|
||||
.GSTR STR?123,"at"
|
||||
.GSTR STR?124,"begin"
|
||||
.GSTR STR?125,"end"
|
||||
.GSTR STR?126,"superbrief"
|
||||
.GSTR STR?127,"verbose"
|
||||
.GSTR STR?128,"(Sorry, but it didn't work. Maybe your instruction manual or Reference Card can tell you why.)"
|
||||
.GSTR STR?129,"go"
|
||||
.GSTR STR?130," doesn't help any."
|
||||
.GSTR STR?131," is a waste of time."
|
||||
.GSTR STR?132," "
|
||||
.GSTR STR?133," "
|
||||
.GSTR STR?134," "
|
||||
.GSTR STR?135," "
|
||||
.GSTR STR?136," "
|
||||
.GSTR STR?137,"(I assume you mean:"
|
||||
.GSTR STR?138," doesn't appear interested"
|
||||
.GSTR STR?139," doesn't care"
|
||||
.GSTR STR?140," lets out a loud yawn"
|
||||
.GSTR STR?141," seems to be growing impatient"
|
||||
.GSTR STR?142,"That's ridiculous!"
|
||||
.GSTR STR?143,"That's wacky!"
|
||||
.GSTR STR?144,"What a fruitcake!"
|
||||
.GSTR STR?145,"What a screwball!"
|
||||
.GSTR STR?146,"You're off your rocker!"
|
||||
.GSTR STR?147,"You're crazy in the head!"
|
||||
.GSTR STR?148,"You can't be serious!"
|
||||
.GSTR STR?149,"seem"
|
||||
.GSTR STR?150,"escape"
|
||||
.GSTR STR?151,"attack"
|
||||
.GSTR STR?152,"not wired for phoning"
|
||||
.GSTR STR?153,"get in"
|
||||
.GSTR STR?154,"climb onto"
|
||||
.GSTR STR?155,"on the deck"
|
||||
.GSTR STR?156,"on the floor"
|
||||
.GSTR STR?157,"bang"
|
||||
.GSTR STR?158,"Hello"
|
||||
.GSTR STR?159,"Good-bye"
|
||||
.GSTR STR?160,"(You'll find plenty of help in your SEASTALKER package.
|
||||
If you're really stuck, you can order an InvisiClues (TM) Hint Booklet either with the form in your package or from your dealer.)"
|
||||
.GSTR STR?161,"kill"
|
||||
.GSTR STR?162,"kisse"
|
||||
.GSTR STR?163,"standing up"
|
||||
.GSTR STR?164,"look inside"
|
||||
.GSTR STR?165,"look outside"
|
||||
.GSTR STR?166,"locked"
|
||||
.GSTR STR?167,"Pushing"
|
||||
.GSTR STR?168,"pick up"
|
||||
.GSTR STR?169,"Fiddling with"
|
||||
.GSTR STR?170,"talk into"
|
||||
.GSTR STR?171,"screw in"
|
||||
.GSTR STR?172,"her"
|
||||
.GSTR STR?173,"his"
|
||||
.GSTR STR?174,"shoot"
|
||||
.GSTR STR?175,"slap"
|
||||
.GSTR STR?176,"smell"
|
||||
.GSTR STR?177,"holding it"
|
||||
.GSTR STR?178,"reach"
|
||||
.GSTR STR?179,"talk to"
|
||||
.GSTR STR?180," ducks"
|
||||
.GSTR STR?181," doesn't duck"
|
||||
.GSTR STR?182,"turn off"
|
||||
.GSTR STR?183,"turn on"
|
||||
.GSTR STR?184,"unlocked"
|
||||
.GSTR STR?185,"wait until"
|
||||
.GSTR STR?186,"not asleep"
|
||||
.GSTR STR?187,"room."
|
||||
.GSTR STR?188,"go under"
|
||||
.GSTR STR?189,"beginning"
|
||||
.GSTR STR?190,"fair"
|
||||
.GSTR STR?191,"good"
|
||||
.GSTR STR?192,"very good"
|
||||
.GSTR STR?193,"master"
|
||||
.GSTR STR?194,"famous"
|
||||
.GSTR STR?195,"busy"
|
||||
.GSTR STR?196,"""I think you should reconsider."
|
||||
.GSTR STR?197,"is now"
|
||||
.GSTR STR?198,"now comes rushing back,"
|
||||
|
||||
.ENDI
|
||||
|
||||
23
jdl.txt
Normal file
23
jdl.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
3-Sep-84 10:20:30-EDT,955;000000000001
|
||||
Date: 3 Sep 1984 1020-EDT
|
||||
From: Stu Galley <SWG at ZORK>
|
||||
Subject: Re: JIM LAWRENCE
|
||||
To: JON
|
||||
cc: SWG, MD, BLANK
|
||||
In-Reply-To: Your message of 28-Aug-84 1104-EDT
|
||||
|
||||
I think he should be included in Seastalker's About the Author.
|
||||
|
||||
Here's a summary of the bio he supplied to us:
|
||||
|
||||
Jim Lawrence has written fiction extensively for both children and
|
||||
adults in a variety of media: books, magazine articles, film and radio
|
||||
scripts, and comic strips, including "decision" strips. He estimates
|
||||
that he has written some sixty books of fiction, many of them under pen
|
||||
names for series like Tom Swift Jr and Nancy Drew. His radio credits
|
||||
include weekly scripts for Sergeant Preston of the Yukon, The Green
|
||||
Hornet, and Sky King. He has written for, and in some cases created and
|
||||
illustrated, the comic strips Dallas, Joe Palooka, Captain Easy, Friday
|
||||
Foster, and Buck Rogers. Seastalker is his first published work of
|
||||
interactive fiction.
|
||||
-------
|
||||
@@ -24,12 +24,6 @@
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT ZPROB,BASE
|
||||
RANDOM 100
|
||||
GRTR? BASE,STACK /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT PICK-ONE,FROB
|
||||
GET FROB,0
|
||||
RANDOM STACK
|
||||
|
||||
BIN
macros.zil
BIN
macros.zil
Binary file not shown.
308
main.zap
308
main.zap
@@ -3,10 +3,11 @@
|
||||
.FUNCT GO
|
||||
START::
|
||||
|
||||
?FCN: SET 'LIT,1
|
||||
?FCN: SET 'LIT,TRUE-VALUE
|
||||
PUTB P-LEXV,0,59
|
||||
PUTB YES-LEXV,0,4
|
||||
SET 'SCORE,0
|
||||
SET 'HERE,GAME
|
||||
PUTB FIRST-NAME,0,3
|
||||
PUTB FIRST-NAME,1,45
|
||||
PUTB FIRST-NAME,2,45
|
||||
@@ -16,25 +17,23 @@ START::
|
||||
PUTB LAST-NAME,2,45
|
||||
PUTB LAST-NAME,3,45
|
||||
SET 'WINNER,PLAYER
|
||||
SET 'HERE,CENTER-OF-LAB
|
||||
CALL THIS-IS-IT,VIDEOPHONE
|
||||
MOVE TIP,HERE
|
||||
CALL THIS-IS-IT,TIP
|
||||
CALL THIS-IS-IT,SHARON
|
||||
FSET? HERE,TOUCHBIT /?CND1
|
||||
CALL QUEUE-MAIN-EVENTS
|
||||
FSET? CENTER-OF-LAB,TOUCHBIT /?CND1
|
||||
CALL INTRO
|
||||
?CND1: MOVE PLAYER,HERE
|
||||
ZERO? RESTORED-DURING-NAME-INPUT \?CND4
|
||||
CALL V-LOOK
|
||||
?CND4: CALL MAIN-LOOP
|
||||
CALL QUEUE-MAIN-EVENTS
|
||||
?CND1: SET 'HERE,CENTER-OF-LAB
|
||||
MOVE TIP,HERE
|
||||
MOVE PLAYER,HERE
|
||||
CALL MAIN-LOOP
|
||||
JUMP ?FCN
|
||||
|
||||
|
||||
.FUNCT INTRO,N
|
||||
PRINTI "Copyright (c) 1984 Infocom, Inc. All rights reserved.
|
||||
PRINTI "Copyright (c) 1984, 1985 Infocom, Inc. All rights reserved.
|
||||
|
||||
Welcome to junior-level interactive fiction from Infocom!
|
||||
Welcome to interactive fiction from Infocom!
|
||||
|
||||
In this story, you're the hero or heroine, so we'll use your name!"
|
||||
CRLF
|
||||
@@ -83,14 +82,14 @@ You look up from your plans for the "
|
||||
|
||||
|
||||
.FUNCT QUEUE-MAIN-EVENTS
|
||||
SET 'ALARM-RINGING,1
|
||||
SET 'ALARM-RINGING,TRUE-VALUE
|
||||
CALL QUEUE,I-ALARM-RINGING,-1
|
||||
PUT STACK,0,1
|
||||
CALL QUEUE,I-SHOW-SONAR,0
|
||||
CALL QUEUE,I-UPDATE-FREIGHTER,0
|
||||
CALL QUEUE,I-UPDATE-SUB-POSITION,0
|
||||
SET 'OLD-HERE,HERE
|
||||
SET 'TIP-FOLLOWS-YOU?,1
|
||||
SET 'OLD-HERE,CENTER-OF-LAB
|
||||
SET 'TIP-FOLLOWS-YOU?,TRUE-VALUE
|
||||
RANDOM 250
|
||||
ADD 250,STACK
|
||||
CALL QUEUE,I-SNARK-ATTACKS,STACK
|
||||
@@ -106,122 +105,127 @@ You look up from your plans for the "
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT MAIN-LOOP,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,?TMP1
|
||||
?PRG1: SET 'CNT,0
|
||||
SET 'OBJ,0
|
||||
SET 'PTBL,1
|
||||
EQUAL? QCONTEXT-ROOM,HERE /?CND3
|
||||
SET 'QCONTEXT,0
|
||||
?CND3: CALL PARSER >P-WON
|
||||
ZERO? P-WON /?ELS8
|
||||
.FUNCT MAIN-LOOP,TRASH
|
||||
?PRG1: CALL MAIN-LOOP-1 >TRASH
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT MAIN-LOOP-1,ICNT,OCNT,NUM,CNT,OBJ,TBL,V,PTBL,OBJ1,TMP,?TMP1
|
||||
SET 'CNT,0
|
||||
SET 'OBJ,FALSE-VALUE
|
||||
SET 'PTBL,TRUE-VALUE
|
||||
EQUAL? QCONTEXT-ROOM,HERE /?CND1
|
||||
SET 'QCONTEXT,FALSE-VALUE
|
||||
?CND1: CALL PARSER >P-WON
|
||||
ZERO? P-WON /?ELS6
|
||||
GET P-PRSI,P-MATCHLEN >ICNT
|
||||
GET P-PRSO,P-MATCHLEN >OCNT
|
||||
ZERO? OCNT \?ELS13
|
||||
ZERO? OCNT \?ELS11
|
||||
PUSH OCNT
|
||||
JUMP ?CND9
|
||||
?ELS13: GRTR? OCNT,1 \?ELS15
|
||||
JUMP ?CND7
|
||||
?ELS11: GRTR? OCNT,1 \?ELS13
|
||||
SET 'TBL,P-PRSO
|
||||
ZERO? ICNT \?ELS18
|
||||
SET 'OBJ,0
|
||||
JUMP ?CND16
|
||||
?ELS18: GET P-PRSI,1 >OBJ
|
||||
?CND16: PUSH OCNT
|
||||
JUMP ?CND9
|
||||
?ELS15: GRTR? ICNT,1 \?ELS22
|
||||
SET 'PTBL,0
|
||||
ZERO? ICNT \?ELS16
|
||||
SET 'OBJ,FALSE-VALUE
|
||||
JUMP ?CND14
|
||||
?ELS16: GET P-PRSI,1 >OBJ
|
||||
?CND14: PUSH OCNT
|
||||
JUMP ?CND7
|
||||
?ELS13: GRTR? ICNT,1 \?ELS20
|
||||
SET 'PTBL,FALSE-VALUE
|
||||
SET 'TBL,P-PRSI
|
||||
GET P-PRSO,1 >OBJ
|
||||
PUSH ICNT
|
||||
JUMP ?CND9
|
||||
?ELS22: PUSH 1
|
||||
?CND9: SET 'NUM,STACK
|
||||
ZERO? OBJ \?CND25
|
||||
EQUAL? ICNT,1 \?CND25
|
||||
JUMP ?CND7
|
||||
?ELS20: PUSH 1
|
||||
?CND7: SET 'NUM,STACK
|
||||
ZERO? OBJ \?CND23
|
||||
EQUAL? ICNT,1 \?CND23
|
||||
GET P-PRSI,1 >OBJ
|
||||
?CND25: EQUAL? PRSA,V?WALK \?ELS32
|
||||
?CND23: EQUAL? PRSA,V?WALK \?ELS30
|
||||
CALL PERFORM,PRSA,PRSO >V
|
||||
JUMP ?CND30
|
||||
?ELS32: ZERO? NUM \?ELS34
|
||||
JUMP ?CND28
|
||||
?ELS30: ZERO? NUM \?ELS32
|
||||
GETB P-SYNTAX,P-SBITS
|
||||
BAND STACK,P-SONUMS
|
||||
ZERO? STACK \?ELS37
|
||||
ZERO? STACK \?ELS35
|
||||
CALL PERFORM,PRSA >V
|
||||
SET 'PRSO,0
|
||||
JUMP ?CND30
|
||||
?ELS37: PRINTI "(There isn't anything to "
|
||||
SET 'PRSO,FALSE-VALUE
|
||||
JUMP ?CND28
|
||||
?ELS35: PRINTI "(There isn't anything to "
|
||||
GET P-ITBL,P-VERBN >TMP
|
||||
ZERO? P-OFLAG /?ELS44
|
||||
ZERO? P-OFLAG /?ELS42
|
||||
GET TMP,0
|
||||
PRINTB STACK
|
||||
JUMP ?CND42
|
||||
?ELS44: GETB TMP,2 >?TMP1
|
||||
JUMP ?CND40
|
||||
?ELS42: GETB TMP,2 >?TMP1
|
||||
GETB TMP,3
|
||||
CALL WORD-PRINT,?TMP1,STACK
|
||||
?CND42: PRINTI "!)"
|
||||
?CND40: PRINTI "!)"
|
||||
CRLF
|
||||
SET 'V,0
|
||||
JUMP ?CND30
|
||||
?ELS34: ZERO? PTBL /?ELS51
|
||||
GRTR? NUM,1 \?ELS51
|
||||
EQUAL? PRSA,V?COMPARE \?ELS51
|
||||
SET 'V,FALSE-VALUE
|
||||
JUMP ?CND28
|
||||
?ELS32: ZERO? PTBL /?ELS49
|
||||
GRTR? NUM,1 \?ELS49
|
||||
EQUAL? PRSA,V?COMPARE \?ELS49
|
||||
CALL PERFORM,PRSA,OBJECT-PAIR >V
|
||||
JUMP ?CND30
|
||||
?ELS51: SET 'TMP,0
|
||||
?PRG56: IGRTR? 'CNT,NUM \?ELS60
|
||||
GRTR? TMP,0 \?REP57
|
||||
JUMP ?CND28
|
||||
?ELS49: SET 'TMP,0
|
||||
?PRG54: IGRTR? 'CNT,NUM \?ELS58
|
||||
GRTR? TMP,0 \?REP55
|
||||
PRINTI "The other thing"
|
||||
EQUAL? TMP,1 /?CND66
|
||||
EQUAL? TMP,1 /?CND64
|
||||
PRINTI "s"
|
||||
?CND66: PRINTI " that you mentioned "
|
||||
EQUAL? TMP,1 /?ELS75
|
||||
?CND64: PRINTI " that you mentioned "
|
||||
EQUAL? TMP,1 /?ELS73
|
||||
PRINTI "are"
|
||||
JUMP ?CND73
|
||||
?ELS75: PRINTI "is"
|
||||
?CND73: PRINTI "n't here."
|
||||
JUMP ?CND71
|
||||
?ELS73: PRINTI "is"
|
||||
?CND71: PRINTI "n't here."
|
||||
CRLF
|
||||
JUMP ?REP57
|
||||
?ELS60: ZERO? PTBL /?ELS88
|
||||
JUMP ?REP55
|
||||
?ELS58: ZERO? PTBL /?ELS86
|
||||
GET P-PRSO,CNT >OBJ1
|
||||
JUMP ?CND86
|
||||
?ELS88: GET P-PRSI,CNT >OBJ1
|
||||
?CND86: GRTR? NUM,1 \?CND92
|
||||
EQUAL? OBJ1,NOT-HERE-OBJECT \?ELS97
|
||||
JUMP ?CND84
|
||||
?ELS86: GET P-PRSI,CNT >OBJ1
|
||||
?CND84: GRTR? NUM,1 \?CND90
|
||||
EQUAL? OBJ1,NOT-HERE-OBJECT \?ELS95
|
||||
INC 'TMP
|
||||
JUMP ?PRG56
|
||||
?ELS97: EQUAL? OBJ1,PLAYER \?ELS99
|
||||
JUMP ?PRG56
|
||||
?ELS99: EQUAL? OBJ1,IT \?ELS104
|
||||
JUMP ?PRG54
|
||||
?ELS95: EQUAL? OBJ1,PLAYER \?ELS97
|
||||
JUMP ?PRG54
|
||||
?ELS97: EQUAL? OBJ1,IT \?ELS102
|
||||
PRINTD P-IT-OBJECT
|
||||
JUMP ?CND102
|
||||
?ELS104: PRINTD OBJ1
|
||||
?CND102: PRINTI ": "
|
||||
?CND92: ZERO? PTBL /?ELS113
|
||||
JUMP ?CND100
|
||||
?ELS102: PRINTD OBJ1
|
||||
?CND100: PRINTI ": "
|
||||
?CND90: ZERO? PTBL /?ELS111
|
||||
PUSH OBJ1
|
||||
JUMP ?CND109
|
||||
?ELS113: PUSH OBJ
|
||||
?CND109: CALL QCONTEXT-CHECK,STACK >V
|
||||
ZERO? PTBL /?ELS121
|
||||
JUMP ?CND107
|
||||
?ELS111: PUSH OBJ
|
||||
?CND107: CALL QCONTEXT-CHECK,STACK >V
|
||||
ZERO? PTBL /?ELS119
|
||||
PUSH OBJ1
|
||||
JUMP ?CND117
|
||||
?ELS121: PUSH OBJ
|
||||
?CND117: SET '?TMP1,STACK
|
||||
ZERO? PTBL /?ELS129
|
||||
JUMP ?CND115
|
||||
?ELS119: PUSH OBJ
|
||||
?CND115: SET '?TMP1,STACK
|
||||
ZERO? PTBL /?ELS127
|
||||
PUSH OBJ
|
||||
JUMP ?CND125
|
||||
?ELS129: PUSH OBJ1
|
||||
?CND125: CALL PERFORM,PRSA,?TMP1,STACK >V
|
||||
EQUAL? V,M-FATAL \?PRG56
|
||||
JUMP ?CND30
|
||||
?REP57:
|
||||
?CND30: EQUAL? V,M-FATAL \?CND6
|
||||
SET 'P-CONT,0
|
||||
JUMP ?CND6
|
||||
?ELS8: SET 'P-CONT,0
|
||||
?CND6: ZERO? P-WON /?PRG1
|
||||
JUMP ?CND123
|
||||
?ELS127: PUSH OBJ1
|
||||
?CND123: CALL PERFORM,PRSA,?TMP1,STACK >V
|
||||
EQUAL? V,M-FATAL \?PRG54
|
||||
JUMP ?CND28
|
||||
?REP55:
|
||||
?CND28: EQUAL? V,M-FATAL \?CND4
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
JUMP ?CND4
|
||||
?ELS6: SET 'P-CONT,FALSE-VALUE
|
||||
?CND4: ZERO? P-WON /FALSE
|
||||
CALL GAME-VERB?
|
||||
ZERO? STACK \?PRG1
|
||||
ZERO? STACK \FALSE
|
||||
CALL CLOCKER >V
|
||||
JUMP ?PRG1
|
||||
RETURN V
|
||||
|
||||
|
||||
.FUNCT QCONTEXT-CHECK,PRSO,OTHER,WHO=0,N=0
|
||||
@@ -263,7 +267,7 @@ You look up from your plans for the "
|
||||
.FUNCT SAID-TO,WHO
|
||||
SET 'QCONTEXT,WHO
|
||||
SET 'QCONTEXT-ROOM,HERE
|
||||
RTRUE
|
||||
RETURN QCONTEXT-ROOM
|
||||
|
||||
|
||||
.FUNCT OBJECT-PAIR-F,P1,P2,?TMP1
|
||||
@@ -294,7 +298,7 @@ You look up from your plans for the "
|
||||
|
||||
|
||||
.FUNCT FAKE-ORPHAN,TMP,?TMP1
|
||||
CALL ORPHAN,P-SYNTAX,0
|
||||
CALL ORPHAN,P-SYNTAX,FALSE-VALUE
|
||||
PRINTI "(Be specific: what thing do you want to "
|
||||
GET P-OTBL,P-VERBN >TMP
|
||||
ZERO? TMP \?ELS5
|
||||
@@ -309,8 +313,8 @@ You look up from your plans for the "
|
||||
GETB TMP,3
|
||||
CALL WORD-PRINT,?TMP1,STACK
|
||||
PUTB P-VTBL,2,0
|
||||
?CND3: SET 'P-OFLAG,1
|
||||
SET 'P-WON,0
|
||||
?CND3: SET 'P-OFLAG,TRUE-VALUE
|
||||
SET 'P-WON,FALSE-VALUE
|
||||
PRINTR "?)"
|
||||
|
||||
|
||||
@@ -328,19 +332,18 @@ You look up from your plans for the "
|
||||
|
||||
|
||||
.FUNCT FIX-HIM-HER,HEM-OBJECT,V
|
||||
CALL NOT-ACCESSIBLE?,HEM-OBJECT
|
||||
ZERO? STACK /?CND1
|
||||
GETP HEM-OBJECT,P?CHARACTER
|
||||
GET GLOBAL-CHARACTER-TABLE,STACK
|
||||
GETP HEM-OBJECT,P?CHARACTER >V
|
||||
CALL ACCESSIBLE?,HEM-OBJECT
|
||||
ZERO? STACK \?CND1
|
||||
GET GLOBAL-CHARACTER-TABLE,V
|
||||
RSTACK
|
||||
?CND1: GETP HEM-OBJECT,P?CHARACTER
|
||||
GET CHARACTER-TABLE,STACK >V
|
||||
?CND1: GET CHARACTER-TABLE,V >V
|
||||
LOC V
|
||||
EQUAL? HERE,STACK \FALSE
|
||||
RETURN V
|
||||
|
||||
|
||||
.FUNCT PERFORM,A,O=0,I=0,V,OA,OO,OI,?TMP1
|
||||
.FUNCT PERFORM,A,O=0,I=0,V,OA,OO,OI
|
||||
ZERO? DEBUG /?CND1
|
||||
PRINTI "[Perform: "
|
||||
PRINTN A
|
||||
@@ -361,8 +364,8 @@ You look up from your plans for the "
|
||||
SET 'PRSA,A
|
||||
EQUAL? A,V?WALK /?CND30
|
||||
EQUAL? IT,I,O \?CND33
|
||||
CALL NOT-ACCESSIBLE?,P-IT-OBJECT
|
||||
ZERO? STACK /?CND33
|
||||
CALL ACCESSIBLE?,P-IT-OBJECT
|
||||
ZERO? STACK \?CND33
|
||||
ZERO? I \?ELS40
|
||||
CALL FAKE-ORPHAN
|
||||
RETURN 2
|
||||
@@ -405,72 +408,57 @@ You look up from your plans for the "
|
||||
SET 'I,P-HIM-OBJECT
|
||||
?CND30: SET 'PRSI,I
|
||||
SET 'PRSO,O
|
||||
EQUAL? A,V?WALK /?ELS87
|
||||
EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?ELS87
|
||||
SET 'V,FALSE-VALUE
|
||||
EQUAL? A,V?WALK /?CND85
|
||||
EQUAL? NOT-HERE-OBJECT,PRSO,PRSI \?CND85
|
||||
CALL D-APPLY,STR?7,NOT-HERE-OBJECT-F >V
|
||||
ZERO? V /?ELS87
|
||||
SET 'P-WON,0
|
||||
JUMP ?CND85
|
||||
?ELS87: CALL THIS-IS-IT,PRSI
|
||||
ZERO? STACK /?ELS91
|
||||
ZERO? V /?CND85
|
||||
SET 'P-WON,FALSE-VALUE
|
||||
?CND85: CALL THIS-IS-IT,PRSI
|
||||
CALL THIS-IS-IT,PRSO
|
||||
ZERO? STACK /?ELS91
|
||||
SET 'O,PRSO
|
||||
SET 'I,PRSI
|
||||
CALL NULL-F
|
||||
ZERO? STACK /?ELS91
|
||||
CALL NULL-F
|
||||
JUMP ?CND85
|
||||
?ELS91: GETP WINNER,P?ACTION
|
||||
ZERO? V \?CND94
|
||||
GETP WINNER,P?ACTION
|
||||
CALL DD-APPLY,STR?8,WINNER,STACK >V
|
||||
ZERO? V /?ELS95
|
||||
JUMP ?CND85
|
||||
?ELS95: LOC WINNER
|
||||
?CND94: ZERO? V \?CND97
|
||||
LOC WINNER
|
||||
GETP STACK,P?ACTION
|
||||
CALL D-APPLY,STR?9,STACK,M-BEG >V
|
||||
ZERO? V /?ELS97
|
||||
JUMP ?CND85
|
||||
?ELS97: GET PREACTIONS,A
|
||||
?CND97: ZERO? V \?CND100
|
||||
GET PREACTIONS,A
|
||||
CALL D-APPLY,STR?10,STACK >V
|
||||
ZERO? V /?ELS99
|
||||
JUMP ?CND85
|
||||
?ELS99: ZERO? I /?ELS101
|
||||
SET 'NOW-PRSI,1
|
||||
?CND100: SET 'NOW-PRSI,TRUE-VALUE
|
||||
ZERO? V \?CND103
|
||||
ZERO? I /?CND103
|
||||
GETP I,P?ACTION
|
||||
CALL D-APPLY,STR?11,STACK >V
|
||||
ZERO? V /?ELS101
|
||||
JUMP ?CND85
|
||||
?ELS101: SET 'NOW-PRSI,0
|
||||
ZERO? O /?ELS105
|
||||
EQUAL? A,V?WALK /?ELS105
|
||||
?CND103: SET 'NOW-PRSI,FALSE-VALUE
|
||||
ZERO? V \?CND108
|
||||
ZERO? O /?CND108
|
||||
EQUAL? A,V?WALK /?CND108
|
||||
LOC O
|
||||
ZERO? STACK /?ELS105
|
||||
ZERO? STACK /?CND108
|
||||
LOC O
|
||||
GETP STACK,P?CONTFCN
|
||||
ZERO? STACK /?ELS105
|
||||
LOC O >?TMP1
|
||||
GETP STACK,P?CONTFCN >V
|
||||
ZERO? V /?CND108
|
||||
LOC O
|
||||
GETP STACK,P?CONTFCN
|
||||
CALL DD-APPLY,STR?12,?TMP1,STACK >V
|
||||
ZERO? V /?ELS105
|
||||
JUMP ?CND85
|
||||
?ELS105: ZERO? O /?ELS109
|
||||
EQUAL? A,V?WALK /?ELS109
|
||||
CALL DD-APPLY,STR?12,STACK,V >V
|
||||
?CND108: ZERO? V \?CND117
|
||||
ZERO? O /?CND117
|
||||
EQUAL? A,V?WALK /?CND117
|
||||
GETP O,P?ACTION
|
||||
CALL D-APPLY,STR?13,STACK >V
|
||||
ZERO? V /?ELS109
|
||||
JUMP ?CND85
|
||||
?ELS109: GET ACTIONS,A
|
||||
CALL D-APPLY,0,STACK >V
|
||||
ZERO? V /?CND85
|
||||
?CND85: EQUAL? V,M-FATAL /?CND114
|
||||
?CND117: ZERO? V \?CND122
|
||||
GET ACTIONS,A
|
||||
CALL D-APPLY,FALSE-VALUE,STACK >V
|
||||
?CND122: EQUAL? V,M-FATAL /?CND125
|
||||
CALL GAME-VERB?
|
||||
ZERO? STACK \?CND125
|
||||
LOC WINNER
|
||||
EQUAL? STACK,PRSO \?CND117
|
||||
SET 'PRSO,0
|
||||
?CND117: LOC WINNER
|
||||
GETP STACK,P?ACTION
|
||||
CALL D-APPLY,STR?14,STACK,M-END >V
|
||||
?CND114: SET 'PRSA,OA
|
||||
?CND125: SET 'PRSA,OA
|
||||
SET 'PRSO,OO
|
||||
SET 'PRSI,OI
|
||||
RETURN V
|
||||
|
||||
134
main.zil
134
main.zil
@@ -1,13 +1,13 @@
|
||||
"MAIN for SEASTALKER
|
||||
Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
Copyright (C) 1984, 1985 Infocom, Inc. All rights reserved."
|
||||
|
||||
<GLOBAL P-WON <>>
|
||||
|
||||
<CONSTANT M-FATAL 2>
|
||||
|
||||
<CONSTANT M-HANDLED 1>
|
||||
"<CONSTANT M-HANDLED 1>
|
||||
|
||||
<CONSTANT M-NOT-HANDLED <>>
|
||||
<CONSTANT M-NOT-HANDLED <>>"
|
||||
|
||||
<CONSTANT M-BEG 1>
|
||||
|
||||
@@ -22,13 +22,11 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<CONSTANT M-OBJDESC 5>
|
||||
|
||||
<ROUTINE GO ()
|
||||
%<COND (<NOT <GASSIGNED? PREDGEN>>
|
||||
'(<SETG XTELLCHAN <OPEN "READB" ,XTELLFILE>>
|
||||
<SETG LIT T>))
|
||||
('<SETG LIT T>)>
|
||||
<SETG LIT T>
|
||||
<PUTB ,P-LEXV 0 59>
|
||||
<PUTB ,YES-LEXV 0 4>
|
||||
<SETG SCORE 0>
|
||||
<SETG HERE ,GAME>
|
||||
<PUTB ,FIRST-NAME 0 3>
|
||||
<PUTB ,FIRST-NAME 1 %<ASCII !\->>
|
||||
<PUTB ,FIRST-NAME 2 %<ASCII !\->>
|
||||
@@ -48,26 +46,23 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<PUTB ,GAME-NAME 9 %<ASCII !\E>>
|
||||
<PUTB ,GAME-NAME 10 %<ASCII !\R>>"
|
||||
<SETG WINNER ,PLAYER>
|
||||
<SETG HERE ,CENTER-OF-LAB>
|
||||
<THIS-IS-IT ,VIDEOPHONE>
|
||||
<MOVE ,TIP ,HERE>
|
||||
<THIS-IS-IT ,TIP>
|
||||
<THIS-IS-IT ,SHARON>
|
||||
%<COND (<GASSIGNED? PREDGEN>
|
||||
'<COND (<NOT <FSET? ,HERE ,TOUCHBIT>>
|
||||
<QUEUE-MAIN-EVENTS>
|
||||
<INTRO>)>)
|
||||
(T '<NULL-F>)>
|
||||
<COND (<NOT <FSET? ,CENTER-OF-LAB ,TOUCHBIT>>
|
||||
<INTRO>
|
||||
<QUEUE-MAIN-EVENTS>)>
|
||||
<SETG HERE ,CENTER-OF-LAB>
|
||||
<MOVE ,TIP ,HERE>
|
||||
<MOVE ,PLAYER ,HERE>
|
||||
<COND (<NOT ,RESTORED-DURING-NAME-INPUT> <V-LOOK>)>
|
||||
<MAIN-LOOP>
|
||||
<AGAIN>>
|
||||
|
||||
<ROUTINE INTRO ("AUX" N)
|
||||
%<XTELL
|
||||
"Copyright (c) 1984 Infocom, Inc. All rights reserved.|
|
||||
<TELL
|
||||
"Copyright (c) 1984, 1985 Infocom, Inc. All rights reserved.|
|
||||
|
|
||||
Welcome to junior-level interactive fiction from Infocom!|
|
||||
Welcome to interactive fiction from Infocom!|
|
||||
|
|
||||
In this story, you're the hero or heroine, so
|
||||
we'll use your name!" CR>
|
||||
@@ -75,17 +70,17 @@ we'll use your name!" CR>
|
||||
<TELL CR>
|
||||
<SET N <READ-NAME ,FIRST-NAME "Please type your first name.">>
|
||||
<COND (<==? .N ,M-FATAL> <RFALSE>)>
|
||||
%<XTELL "Hello " FN "! ">
|
||||
<TELL "Hello " FN "! ">
|
||||
<SET N <READ-NAME ,LAST-NAME "Now type your last name.">>
|
||||
<COND (<==? .N ,M-FATAL> <RFALSE>)>
|
||||
%<XTELL "Is " FN " " LN " right?">
|
||||
<TELL "Is " FN " " LN " right?">
|
||||
<COND (<YES?> <RETURN>)>>
|
||||
%<XTELL "Then let the story begin!">
|
||||
<TELL "Then let the story begin!">
|
||||
<SET N 24>
|
||||
<REPEAT () <COND (<DLESS? N 0> <RETURN>) (T <CRLF>)>>
|
||||
<V-VERSION>
|
||||
<CRLF>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"" FN ", snap out of it!\" cries " D ,GLOBAL-TIP ", bursting into
|
||||
" D ,YOUR-LABORATORY ". \"The alert signal is on!\"|
|
||||
You look up from your plans for the " D ,SUB ", a top-secret submarine
|
||||
@@ -101,7 +96,7 @@ ringing. Someone's trying to reach you over the private " D ,VIDEOPHONE
|
||||
<QUEUE I-SHOW-SONAR 0>
|
||||
<QUEUE I-UPDATE-FREIGHTER 0>
|
||||
<QUEUE I-UPDATE-SUB-POSITION 0>
|
||||
<SETG OLD-HERE ,HERE>
|
||||
<SETG OLD-HERE ,CENTER-OF-LAB>
|
||||
<SETG TIP-FOLLOWS-YOU? T>
|
||||
<ENABLE <QUEUE I-SNARK-ATTACKS <+ 250 <RANDOM 250>>>>
|
||||
<ENABLE <QUEUE I-LAMP-ON-SCOPE 5>>
|
||||
@@ -110,10 +105,13 @@ ringing. Someone's trying to reach you over the private " D ,VIDEOPHONE
|
||||
<ENABLE <QUEUE I-SHARON-GONE 25>>>
|
||||
|
||||
|
||||
<ROUTINE MAIN-LOOP ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
|
||||
<ROUTINE MAIN-LOOP ("AUX" TRASH)
|
||||
<REPEAT ()
|
||||
<SET TRASH <MAIN-LOOP-1>>>>
|
||||
|
||||
<ROUTINE MAIN-LOOP-1 ("AUX" ICNT OCNT NUM CNT OBJ TBL V PTBL OBJ1 TMP)
|
||||
#DECL ((CNT OCNT ICNT NUM) FIX (V) <OR 'T FIX FALSE> (OBJ)<OR FALSE OBJECT>
|
||||
(OBJ1) OBJECT (TBL) TABLE (PTBL) <OR FALSE ATOM>)
|
||||
<REPEAT ()
|
||||
<SET CNT 0>
|
||||
<SET OBJ <>>
|
||||
<SET PTBL T>
|
||||
@@ -191,7 +189,7 @@ ringing. Someone's trying to reach you over the private " D ,VIDEOPHONE
|
||||
(T
|
||||
<SETG P-CONT <>>)>
|
||||
<COND (,P-WON
|
||||
<COND (<NOT <GAME-VERB?>> <SET V <CLOCKER>>)>)>>>
|
||||
<COND (<NOT <GAME-VERB?>> <SET V <CLOCKER>>)>)>>
|
||||
|
||||
<ROUTINE QCONTEXT-CHECK (PRSO "AUX" OTHER (WHO <>) (N 0))
|
||||
<COND (<OR <VERB? ;FIND HELP WHAT>
|
||||
@@ -235,7 +233,7 @@ ringing. Someone's trying to reach you over the private " D ,VIDEOPHONE
|
||||
<ROUTINE OBJECT-PAIR-F ("AUX" P1 P2)
|
||||
<COND (<L? 2 <GET ,P-PRSO ,P-MATCHLEN>>
|
||||
<COND (<VERB? COMPARE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"That's too many things to compare all at once!" CR>)>
|
||||
<RTRUE>)
|
||||
(<VERB? COMPARE>
|
||||
@@ -279,17 +277,16 @@ ringing. Someone's trying to reach you over the private " D ,VIDEOPHONE
|
||||
(<IN? .OBJ ,ROOMS> <TELL "(rm)">)>>
|
||||
|
||||
<ROUTINE FIX-HIM-HER (HEM-OBJECT "AUX" V)
|
||||
<COND (<NOT-ACCESSIBLE? .HEM-OBJECT>
|
||||
<SET V <GETP .HEM-OBJECT ,P?CHARACTER>>
|
||||
<COND (<NOT <ACCESSIBLE? .HEM-OBJECT>>
|
||||
;<COND (,DEBUG <TELL "[" D .HEM-OBJECT ":NA]" CR>)>
|
||||
<RETURN <GET ,GLOBAL-CHARACTER-TABLE
|
||||
<GETP .HEM-OBJECT ,P?CHARACTER>>>)>
|
||||
<SET V <GET ,CHARACTER-TABLE <GETP .HEM-OBJECT ,P?CHARACTER>>>
|
||||
<RETURN <GET ,GLOBAL-CHARACTER-TABLE .V>>)>
|
||||
<SET V <GET ,CHARACTER-TABLE .V>>
|
||||
<COND (<EQUAL? ,HERE <LOC .V>>
|
||||
;<COND (,DEBUG <TELL "[" D .HEM-OBJECT ":LO]" CR>)>
|
||||
<RETURN .V>)>>
|
||||
|
||||
<ROUTINE PERFORM (A "OPTIONAL" (O <>) (I <>) "AUX" V OA OO OI)
|
||||
#DECL ((A) FIX (O) <OR FALSE OBJECT FIX> (I) <OR FALSE OBJECT> (V)ANY)
|
||||
<COND (,DEBUG
|
||||
<TELL "[Perform: ">
|
||||
%<COND (<GASSIGNED? PREDGEN> '<TELL N .A>)
|
||||
@@ -308,7 +305,7 @@ ringing. Someone's trying to reach you over the private " D ,VIDEOPHONE
|
||||
<SETG PRSA .A>
|
||||
<COND (<NOT <EQUAL? .A ,V?WALK>>
|
||||
<COND (<AND <EQUAL? ,IT .I .O>
|
||||
<NOT-ACCESSIBLE? ,P-IT-OBJECT>>
|
||||
<NOT <ACCESSIBLE? ,P-IT-OBJECT>>>
|
||||
<COND (<NOT .I> <FAKE-ORPHAN>)
|
||||
(T <TELL
|
||||
"(Sorry, but" THE ,P-IT-OBJECT " isn't here!)" CR>)>
|
||||
@@ -329,47 +326,46 @@ ringing. Someone's trying to reach you over the private " D ,VIDEOPHONE
|
||||
(<==? .I ,HIM> <SET I ,P-HIM-OBJECT>)>)>
|
||||
<SETG PRSI .I>
|
||||
<SETG PRSO .O>
|
||||
<SET V <>>
|
||||
<COND (<AND <NOT <EQUAL? .A ,V?WALK>>
|
||||
<EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>
|
||||
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>>
|
||||
<SETG P-WON <>>
|
||||
.V)
|
||||
(<AND <THIS-IS-IT ,PRSI>
|
||||
<THIS-IS-IT ,PRSO>
|
||||
<SET O ,PRSO>
|
||||
<SET I ,PRSI>
|
||||
<NULL-F>>
|
||||
<NULL-F>) ;"[in case last clause changed PRSx]"
|
||||
(<SET V <DD-APPLY "Actor" ,WINNER <GETP ,WINNER ,P?ACTION>>> .V)
|
||||
(<SET V <D-APPLY "Room (M-BEG)"
|
||||
<EQUAL? ,NOT-HERE-OBJECT ,PRSO ,PRSI>>
|
||||
<SET V <D-APPLY "Not Here" ,NOT-HERE-OBJECT-F>>
|
||||
<COND (.V
|
||||
<SETG P-WON <>>)>)>
|
||||
<THIS-IS-IT ,PRSI>
|
||||
<THIS-IS-IT ,PRSO>
|
||||
<SET O ,PRSO>
|
||||
<SET I ,PRSI>
|
||||
<COND (<ZERO? .V>
|
||||
<SET V <DD-APPLY "Actor" ,WINNER <GETP ,WINNER ,P?ACTION>>>)>
|
||||
<COND (<ZERO? .V>
|
||||
<SET V <D-APPLY "Room (M-BEG)"
|
||||
<GETP <LOC ,WINNER> ,P?ACTION>
|
||||
,M-BEG>> .V)
|
||||
(<SET V <D-APPLY "Preaction"
|
||||
<GET ,PREACTIONS .A>>> .V)
|
||||
(<AND .I
|
||||
<SETG NOW-PRSI T>
|
||||
<SET V <D-APPLY "PRSI" <GETP .I ,P?ACTION>>>>
|
||||
.V)
|
||||
(<AND <NOT <SETG NOW-PRSI <>>>
|
||||
,M-BEG>>)>
|
||||
<COND (<ZERO? .V>
|
||||
<SET V <D-APPLY "Preaction" <GET ,PREACTIONS .A>>>)>
|
||||
<SETG NOW-PRSI T>
|
||||
<COND (<AND <ZERO? .V>
|
||||
.I>
|
||||
<SET V <D-APPLY "PRSI" <GETP .I ,P?ACTION>>>)>
|
||||
<SETG NOW-PRSI <>>
|
||||
<COND (<AND <ZERO? .V>
|
||||
.O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<LOC .O>
|
||||
<GETP <LOC .O> ,P?CONTFCN>
|
||||
<SET V <DD-APPLY "Container" <LOC .O>
|
||||
<GETP <LOC .O> ,P?CONTFCN>>>>
|
||||
.V)
|
||||
(<AND .O
|
||||
<NOT <==? .A ,V?WALK>>
|
||||
<SET V <D-APPLY "PRSO"
|
||||
<GETP .O ,P?ACTION>>>>
|
||||
.V)
|
||||
(<SET V <D-APPLY <>
|
||||
<GET ,ACTIONS .A>>> .V)>
|
||||
<LOC .O>>
|
||||
<SET V <GETP <LOC .O> ,P?CONTFCN>>
|
||||
<COND (.V
|
||||
<SET V <DD-APPLY "Container" <LOC .O> .V>>)>)>
|
||||
<COND (<AND <ZERO? .V>
|
||||
.O
|
||||
<NOT <==? .A ,V?WALK>>>
|
||||
<SET V <D-APPLY "PRSO" <GETP .O ,P?ACTION>>>)>
|
||||
<COND (<ZERO? .V>
|
||||
<SET V <D-APPLY <> <GET ,ACTIONS .A>>>)>
|
||||
<COND (<NOT <==? .V ,M-FATAL>>
|
||||
<COND (<==? <LOC ,WINNER> ,PRSO> ;"was not in compiled PERFORM"
|
||||
<SETG PRSO <>>)>
|
||||
<SET V <D-APPLY "Room (M-END)"
|
||||
<GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>
|
||||
<COND (<NOT <GAME-VERB?>>
|
||||
<SET V <D-APPLY "Room (M-END)"
|
||||
<GETP <LOC ,WINNER> ,P?ACTION> ,M-END>>)>)>
|
||||
<SETG PRSA .OA>
|
||||
<SETG PRSO .OO>
|
||||
<SETG PRSI .OI>
|
||||
|
||||
737
manual.gr
Normal file
737
manual.gr
Normal file
@@ -0,0 +1,737 @@
|
||||
@style (spacing 1)
|
||||
@title [SEASTALKER(tm) MANUAL]
|
||||
@center [MANUAL FOR SEASTALKER(tm)]
|
||||
@center (Comments to Stu Galley)
|
||||
|
||||
@chapter (INTRODUCTION)
|
||||
|
||||
Welcome to the world of Infocom Young Adventures -- a world where:
|
||||
@begin (itemize)
|
||||
you become the hero or heroine in a story,
|
||||
|
||||
you can use your own thinking and
|
||||
imagination to guide that story from start to finish,
|
||||
|
||||
you can meet other people, who may help you or not, and
|
||||
|
||||
you can go to new places, figure out mysteries and puzzles,
|
||||
and fight against monsters or enemies.
|
||||
@end (itemize)
|
||||
|
||||
In SEASTALKER, you become a young inventor working in your father's
|
||||
business. Your newest invention is a small submarine that has only two seats
|
||||
inside, for you and your pal Tip. The submarine can dive deeply into
|
||||
the sea to capture plants and animals for you to study. But you will
|
||||
have to use it to save your undersea scientific station from a sea monster
|
||||
that is attacking it!
|
||||
|
||||
@heading (RULES AND STRATEGIES)
|
||||
|
||||
When you play SEASTALKER, the story goes on only from the time you hit
|
||||
the RETURN (or ENTER) key until you see the prompt ">". You could
|
||||
imagine a clock that ticks once for each sentence you type, and the
|
||||
story continues only at each tick. Nothing happens in the story from the
|
||||
time you see the prompt ">" until you hit the RETURN (or ENTER) key. You
|
||||
can think and plan your moves as slowly and carefully as you want.
|
||||
|
||||
SEASTALKER keeps track of your score and gives you points when it
|
||||
thinks you have done something "right." You can try to get a perfect
|
||||
score if you want, but you should also try to guide the story to an
|
||||
ending that you like and to have fun along the way.
|
||||
|
||||
One
|
||||
way to move from place to place in the story is to type "GO TO [a place]"
|
||||
-- that means to type the words "GO TO" and then the name of the place
|
||||
where you want to go. You can find the names of places by looking at the
|
||||
maps in your SEASTALKER package.
|
||||
|
||||
If you don't want to miss anything on the way to another place, you can
|
||||
go toward it one place at a time, by typing the compass direction in
|
||||
which you want to go each turn. The main compass directions are "NORTH",
|
||||
"EAST", "SOUTH", and "WEST", and the ones in between are "NORTHEAST",
|
||||
"SOUTHEAST", "SOUTHWEST", and "NORTHWEST." Most players like to type
|
||||
these shorter words instead: "N", "E", "S", "W", "NE", "SE", "SW", and
|
||||
"NW." Sometimes you can use "UP" or "DOWN" ("U" or "D" for short) or
|
||||
"IN" or "OUT."
|
||||
|
||||
Whenever you go into a place, SEASTALKER tells you the name of the place.
|
||||
It displays the name of the place, in parentheses, like "(lab center)".
|
||||
As you explore the different places in SEASTALKER, you should read
|
||||
carefully what the program displays and get to know the places you
|
||||
visit. You don't need to walk around or turn around within a place;
|
||||
anything you can see there is always within your reach, unless you are sitting
|
||||
or lying down or hiding.
|
||||
|
||||
When you enter a place for the first time, SEASTALKER normally displays
|
||||
the name of the place and all about what you can see there. When you
|
||||
return to that place again, SEASTALKER normally displays only the name
|
||||
of the place and the names of interesting things there.
|
||||
|
||||
If you want
|
||||
SEASTALKER to display all about a place every time you go there, not
|
||||
just the first time, type the command "VERBOSE" instead of a sentence.
|
||||
If you want SEASTALKER to go back to normal, type the command "BRIEF"
|
||||
instead of a sentence. If you want SEASTALKER to display only the name
|
||||
of a place and not to tell you what's there, even the very first time
|
||||
you go there, type the command "SUPERBRIEF" instead of a sentence.
|
||||
SUPERBRIEF mode is really only for Young Adventurers who already know
|
||||
their way around the story. (When
|
||||
you are in SUPERBRIEF mode, you can still type "LOOK" or "L", and
|
||||
SEASTALKER will describe the place you are in and the things there.)
|
||||
|
||||
@heading (CONCEPTS FOR EXPLORING)
|
||||
|
||||
One main idea of Young Adventure stories is to solve puzzles.
|
||||
You should think of a locked door or an
|
||||
unfriendly creature in the story not as an obstacle but as a
|
||||
puzzle that you need to solve. Sometimes the best way to solve a puzzle is to
|
||||
find something that appears in the story, take
|
||||
it with you, and then use it in the right way. Here are some ways
|
||||
that things in the story behave:
|
||||
|
||||
@U(Containers): Some things are containers that can hold other
|
||||
things. You can open or close some containers, like a box. Other
|
||||
containers are always open, like a bowl. Other containers are
|
||||
transparent, like a glass box, and you can see inside them even when
|
||||
they are closed. Other things have a surface, like a table, and you can
|
||||
put things on them. All containers can hold a certain amount and no
|
||||
more, like a small box. Some things are big, and some are little.
|
||||
|
||||
Here is an example to show how a container works:
|
||||
|
||||
@begin (example)
|
||||
|
||||
>OPEN THE TINY BOX
|
||||
Opening the tiny box reveals an ID amulet.
|
||||
|
||||
>PUT THE DIARY IN THE TINY BOX
|
||||
There's no room.
|
||||
|
||||
>TAKE THE AMULET
|
||||
You are now holding the ID amulet.
|
||||
|
||||
>LOOK IN THE BOX
|
||||
It's empty.
|
||||
|
||||
@end (example)
|
||||
|
||||
@U(People): You can talk to the other people in SEASTALKER. (For
|
||||
details, see the section later in this manual called "Typing to
|
||||
SEASTALKER.") Most other people will be glad to help you by doing what
|
||||
you tell them to. Some other people may be unfriendly or too busy to
|
||||
help, or they may think that you are an enemy.
|
||||
|
||||
Here is an example of dealing with a person:
|
||||
|
||||
@begin (example)
|
||||
Tip is standing here, chewing his gum.
|
||||
|
||||
>TIP, FOLLOW ME
|
||||
"I'm already following you, Sheila."
|
||||
|
||||
>SOUTH
|
||||
(south tank area)
|
||||
Tip follows you into the south tank area.
|
||||
|
||||
>ASK TIP ABOUT THE PROBLEM
|
||||
Tip says, "I don't know anything about it, Sheila."
|
||||
@end (example)
|
||||
|
||||
@heading (LOADING "SEASTALKER")
|
||||
|
||||
Now that you know something about the world of Young Adventure, it's
|
||||
time to try "booting" your diskette in order to load the program. To
|
||||
load SEASTALKER, follow the instructions on the Reference Card in your
|
||||
SEASTALKER package.
|
||||
|
||||
First the program will ask you for your first and last name, so it can
|
||||
use them in the story. Then it will display the title of the story,
|
||||
followed by the first bit of action and a description of the
|
||||
place where the story begins. Finally, the prompt ">" will appear. When
|
||||
you have finished reading this manual, you will be ready to play SEASTALKER.
|
||||
|
||||
When you see the prompt ">", SEASTALKER is waiting for you to type in
|
||||
your instructions. When you have finished that, press the RETURN (or
|
||||
ENTER) key. The program will respond, and another prompt will appear.
|
||||
|
||||
Here is a quick exercise to help you get used to SEASTALKER. After you
|
||||
read the beginning of the story, type this sentence after the prompt
|
||||
">":
|
||||
|
||||
@begin (example)
|
||||
GO EAST
|
||||
@end (example)
|
||||
|
||||
and then press the RETURN (or ENTER) key. SEASTALKER will respond
|
||||
by describing the place that you went:
|
||||
|
||||
@begin (example)
|
||||
(east part)
|
||||
You are standing in the east part of your lab. A doorway leads out
|
||||
past the Electrical Power Panel via a short corridor to the office
|
||||
of your lab aide. A telephone and intercom sit on your desk.
|
||||
Tip is off to the west.
|
||||
There's a Microwave Security Scanner here.
|
||||
There's a desk here.
|
||||
@end (example)
|
||||
|
||||
Now try typing:
|
||||
|
||||
@begin (example)
|
||||
TURN ON THE SCANNER
|
||||
@end (example)
|
||||
|
||||
After you press the RETURN (or ENTER) key, the program will respond:
|
||||
|
||||
@begin (example)
|
||||
No beep occurs. Scanner displays: NO INTRUDER PRESENT ON GROUNDS.
|
||||
@end (example)
|
||||
|
||||
You can explore the area around the lab, if you want; there's a map
|
||||
in your SEASTALKER package to help you. But soon, events in the story may make
|
||||
you want to get involved in it. You should read the rest of this manual first.
|
||||
@heading (TYPING TO "SEASTALKER")
|
||||
|
||||
When you play any Young Adventure story, you type your sentences in plain
|
||||
English each time you see the prompt ">". You can pretend that all your
|
||||
sentences begin with "I want to...", but you should not actually type
|
||||
those words. You can use words like "THE" if you want, and you can use
|
||||
capital letters if you want; the program doesn't care either way.
|
||||
|
||||
When you have finished typing a sentence, press the RETURN (or ENTER)
|
||||
key. Then the program will respond, telling you if what you want to do
|
||||
is possible at this point in the story, and what happens next.
|
||||
|
||||
SEASTALKER looks only at the first six letters of each long word you
|
||||
type, and it ignores any letters after that. So, the words "ELECTRic"
|
||||
and "ELECTRonic" would look like the same word to SEASTALKER.
|
||||
|
||||
SEASTALKER understands many different kinds of sentences. Here are
|
||||
some examples, using things or situations that may not actually occur in
|
||||
the story:
|
||||
|
||||
@begin (example)
|
||||
TAKE THE MIKE
|
||||
PUT ON THE AMULET
|
||||
PICK UP THE CATALYST CAPSULE
|
||||
DROP IT
|
||||
GO OUT
|
||||
DROP THE MIKE ONTO THE WORKBENCH
|
||||
WALK NORTH
|
||||
WEST
|
||||
SW
|
||||
GET IN THE SUBMARINE
|
||||
PUSH THE JOYSTICK EAST
|
||||
EXAMINE THE DEPTH FINDER
|
||||
SHOOT THE MONSTER WITH THE DART
|
||||
LOOK AT THE SONARSCOPE
|
||||
LOOK UNDER THE WORKBENCH
|
||||
LOOK BEHIND THE COMPUTESTOR
|
||||
AIM SEARCH BEAM TO STARBOARD
|
||||
QUESTION TIP
|
||||
@end (example)
|
||||
|
||||
You can use more than one noun for a "direct object" or
|
||||
"indirect object" with some verbs, if you
|
||||
separate the nouns by the word "AND" or by a comma.
|
||||
For example:
|
||||
|
||||
@begin (example)
|
||||
DROP THE MIKE AND THE NOTEBOOK
|
||||
TAKE BLACK BOX, OXYGEN GEAR, AND UNIVERSAL TOOL
|
||||
PUT THE DIARY AND THE PHOTO IN THE LOCKER
|
||||
@end (example)
|
||||
|
||||
You can put more than one sentence on one input line, if you separate
|
||||
them by the word "THEN" or by a period. You don't need a
|
||||
period at the end of an input line. For example, you
|
||||
could type all these sentences on one input line, before pressing the
|
||||
RETURN (or ENTER) key:
|
||||
|
||||
@begin (example)
|
||||
READ THE SIGN. OPEN THE HATCH. GO THROUGH IT.
|
||||
@end (example)
|
||||
|
||||
There are @U(only three) kinds of questions that SEASTALKER understands:
|
||||
"WHAT IS [something]", "WHO IS [someone]", and "WHERE IS [something]."
|
||||
(You can probably guess that you don't type a question as if it started
|
||||
with "I want to...") You can type a question mark at the end of a
|
||||
question if you want, but the program doesn't care. For example:
|
||||
|
||||
@begin (example)
|
||||
WHERE IS TIP?
|
||||
WHO IS AMY.
|
||||
WHAT IS A DEPTH FINDER
|
||||
@end (example)
|
||||
|
||||
You will meet other people as you play
|
||||
SEASTALKER. You can "talk" to these people by typing their name,
|
||||
then a comma, then whatever you want to say to them. For example:
|
||||
|
||||
@begin (example)
|
||||
MARV, WHERE IS THE SONAR EQUIPMENT
|
||||
TIP, FOLLOW ME
|
||||
ZOE, KILL THE MONSTER
|
||||
MICK, GO TO THE AIRLOCK THEN FIX THE SUBMARINE
|
||||
AMY, WAIT HERE
|
||||
@end (example)
|
||||
|
||||
If you forget to type the person's name first, SEASTALKER will sometimes
|
||||
assume that you meant to talk to the same person again, or to the only
|
||||
other person in the same place with you. When it does this, it will tell
|
||||
you. For example:
|
||||
|
||||
@begin (example)
|
||||
>ASK ABOUT THE MONSTER
|
||||
(said to Tip)
|
||||
"You know as much about it as I do."
|
||||
@end (example)
|
||||
|
||||
SEASTALKER tries to guess what you really mean if you don't give
|
||||
enough information. For example, if you type that you want to do
|
||||
something, but not what to do it with, SEASTALKER may
|
||||
decide that there was only one possible thing you could have meant.
|
||||
When it does this, it will tell you. For example:
|
||||
|
||||
@begin (example)
|
||||
|
||||
>UNLOCK THE DOOR
|
||||
(with the key)
|
||||
The door is now unlocked.
|
||||
|
||||
>GET OUT
|
||||
(out of the Ultramarine Bioceptor)
|
||||
(airlock)
|
||||
|
||||
@end (example)
|
||||
|
||||
If you try to use something that you need to be holding, but you forgot
|
||||
to pick it up first, SEASTALKER will pick it up for you. For example:
|
||||
|
||||
@begin (example)
|
||||
>LOOK
|
||||
You are in the library. There is a book here.
|
||||
|
||||
>READ THE BOOK
|
||||
(taken)
|
||||
The book is far too long to read it all now.
|
||||
|
||||
>INVENTORY
|
||||
You are carrying:
|
||||
a book
|
||||
@end (example)
|
||||
|
||||
If SEASTALKER thinks that your sentence could have more than one
|
||||
meaning, it will ask what you really meant.
|
||||
You can answer it by typing just the missing
|
||||
information; you don't have to type the whole sentence again. For example:
|
||||
|
||||
@begin (example)
|
||||
>PUT THE RELAY
|
||||
What do you want to put the relay in?
|
||||
>THE EMPTY SPACE
|
||||
It fits!
|
||||
|
||||
>OPEN THE HATCH
|
||||
Which hatch do you mean, the entry hatch or the access hatch?
|
||||
>ENTRY
|
||||
O.K.
|
||||
@end (example)
|
||||
|
||||
SEASTALKER uses many words that it will not recognize in your
|
||||
sentences. For example, you might see "Sunlight shimmers across the
|
||||
dusty cobwebs." in the description of a place. However, if the program
|
||||
doesn't recognize the words "SUNLIGHT" or "COBWEBS" in your sentence,
|
||||
then you know that you don't need the sunlight and cobwebs to finish the
|
||||
story; they are in the description only to make the story more
|
||||
interesting. SEASTALKER recognizes nearly all the words that you are
|
||||
likely to type, over 700 of them. If SEASTALKER doesn't know a word
|
||||
that you want to use, or any word that means the same thing, you are almost
|
||||
certainly trying the wrong way to solve a puzzle.
|
||||
|
||||
SEASTALKER will complain to you if you type a sentence that confuses
|
||||
it completely. (The end of this manual has an explanation of these
|
||||
complaints.) After it complains, SEASTALKER will ignore the rest of
|
||||
your input line. SEASTALKER will also ignore the rest of the sentences
|
||||
you typed on one line if something really important happens in the
|
||||
story, since you may want to change your mind about what to do next.
|
||||
|
||||
@heading (TIPS FOR NEW PLAYERS)
|
||||
|
||||
Many things that you discover in the story are important, because they
|
||||
give you clues about the puzzles you must solve. You should examine or
|
||||
read everything that seems important to you. Even silly or dangerous
|
||||
actions may give you clues; they can even be fun. Besides, you can
|
||||
always start the story over again, or you can save your place first.
|
||||
(There is a section later in this manual about starting over and saving
|
||||
your place.) Here's a silly example:
|
||||
|
||||
@begin (example)
|
||||
>GIVE THE MAGIC GERANIUM TO THE MONSTER
|
||||
For a moment, the monster thinks about eating the geranium instead
|
||||
of you. But then it decides not to, and it comes closer and closer to you.
|
||||
@end (example)
|
||||
|
||||
Here you have learned something about what the monster does not
|
||||
like to eat, and you have a clue that giving something else (maybe that
|
||||
yellow "goo" you are carrying?) to it would work better.
|
||||
|
||||
There are many possible ways to get to the end of
|
||||
SEASTALKER. Some puzzles that you find along the way may have more
|
||||
than one solution, and you may not need to solve others at all. Sometimes
|
||||
solving a puzzle one way will make it harder to solve another,
|
||||
and sometimes it will make it easier.
|
||||
|
||||
Many people like
|
||||
to play SEASTALKER with another person. One person may find a
|
||||
puzzle hard while another may find it easy, so two or more players often
|
||||
can have more fun than one player alone.
|
||||
|
||||
You can use the maps that came with your SEASTALKER package
|
||||
to help you move from place to place.
|
||||
Remember that there are eight compass directions, not counting "IN" and "OUT".
|
||||
|
||||
If you get stuck, you can order a booklet of hints from
|
||||
Infocom by filling out and mailing in the "Bilk and Wheedle" flyer in your
|
||||
SEASTALKER package.
|
||||
|
||||
If you read the sample transcript in the next section, you should get a
|
||||
feeling for how Young Adventure stories are played.
|
||||
|
||||
@heading (SAMPLE STORY TRANSCRIPT)
|
||||
|
||||
This transcript is not from SEASTALKER, but it does show most of
|
||||
the usual things that you can do while playing. It shows
|
||||
several simple puzzles and their solutions, and it should give the
|
||||
new player a good idea of how an interactive text adventure story works.
|
||||
|
||||
@begin (example)
|
||||
[to be supplied]
|
||||
@end (example)
|
||||
|
||||
@heading (SAVING, RESTORING, RESTARTING, AND QUITTING)
|
||||
|
||||
If you want to stop playing, and you don't care about saving your
|
||||
place for another time, type the command "QUIT." Just to be sure,
|
||||
SEASTALKER will ask you if you really want to leave the story, and you
|
||||
should type "YES."
|
||||
|
||||
If you want to start over from the beginning of the story, type the
|
||||
command "RESTART." Once again, SEASTALKER will ask to make sure that
|
||||
this is really what you want to do.
|
||||
|
||||
If you want to stop playing for now, but continue from this same place
|
||||
at another time, type the command "SAVE." Since it takes many hours to
|
||||
finish SEASTALKER, you will probably not finish it in one sitting. By
|
||||
using the "SAVE" command, you can continue playing at a later time
|
||||
without having to start over from the beginning, just as you can put a
|
||||
bookmark in a book you are reading. The "SAVE" command makes a
|
||||
"snapshot" of your place in the story on another diskette. If you are a
|
||||
cautious or careful player, you may want to save your place before you
|
||||
try something dangerous or tricky. Then you can return to the same
|
||||
place, even if you have gotten "killed" or lost since then.
|
||||
|
||||
To save your place in the story, just type "SAVE"
|
||||
after the prompt ">" and then follow the instructions on your
|
||||
Reference Card. Remember that most computers need a diskette for storage
|
||||
that has been initialized
|
||||
("formatted") before you start the story. Remember also
|
||||
that you may not be able to use that diskette for anything else.
|
||||
|
||||
To continue playing from any place where you used the "SAVE" command,
|
||||
just type "RESTORE" after the prompt ">" and follow the instructions on
|
||||
your Reference Card. Then you can continue playing from the place where
|
||||
you used the "SAVE" command. You can type "LOOK" to get a description of
|
||||
where you are. You can use "RESTORE" on any "snapshot" you have made
|
||||
whenever you want.
|
||||
|
||||
@heading (IMPORTANT COMMANDS)
|
||||
|
||||
You can type a command to SEASTALKER instead of a sentence. Some
|
||||
commands give you information and others let you start or stop the
|
||||
story. Some of these commands were also explained earlier in this
|
||||
manual. You can use these commands again and again, as you wish. Some
|
||||
commands count as a turn, and the story will go on, while others do not.
|
||||
|
||||
"BRIEF" commands SEASTALKER to
|
||||
display all about a place or thing only the first time you see it.
|
||||
This is the way it works when the story begins.
|
||||
|
||||
"DIAGNOSE" commands SEASTALKER to give you a brief report about your medical
|
||||
condition.
|
||||
|
||||
"INVENTORY" or "I" commands SEASTALKER to display a list of all the
|
||||
things that you are carrying or wearing.
|
||||
|
||||
"LOOK" or "L" commands SEASTALKER to describe the place you are in.
|
||||
|
||||
"QUIT" or "Q" allows you to quit playing. If you want to quit for now,
|
||||
but continue from this same place at another time, use the "SAVE" command.
|
||||
|
||||
"RELEASE" tells you the Release number and the Serial number of
|
||||
your copy of SEASTALKER.
|
||||
|
||||
"RESTART" stops the story and starts over from the beginning.
|
||||
|
||||
"RESTORE" lets you continue playing from any place where you used the
|
||||
"SAVE" command.
|
||||
|
||||
"SAVE" lets you stop playing for now, but continue from this same place
|
||||
at another time, by making a "snapshot" on your storage diskette.
|
||||
|
||||
"SCORE" tells your current score and a rank based on it.
|
||||
|
||||
"SCRIPT" commands your printer to start making a transcript of the story
|
||||
as you play. Your Reference Card tells if you can use this feature.
|
||||
|
||||
"SUPERBRIEF" commands SEASTALKER to
|
||||
display only the name of a place, even the first time you see it.
|
||||
|
||||
"UNSCRIPT" commands your printer to stop making a transcript.
|
||||
|
||||
"VERBOSE" commands SEASTALKER to
|
||||
display all about a place or thing every time you see it.
|
||||
|
||||
"WAIT" or "Z" causes time in the story to pass. Normally, between your
|
||||
input lines, nothing happens in the story. You could leave the computer,
|
||||
travel around the world underwater for a year, and return to the story
|
||||
to find that nothing has changed. You can use the "WAIT" command to make
|
||||
time pass in the story without doing anything, if you are waiting for a
|
||||
person to arrive, waiting for something to happen, and so on.
|
||||
|
||||
@heading (USEFUL VERBS)
|
||||
|
||||
Here is a list of some of the verbs that SEASTALKER
|
||||
understands. Remember that you can use prepositions with these verbs;
|
||||
for example, "LOOK" can become "LOOK INSIDE", "LOOK
|
||||
BEHIND", "LOOK UNDER", "LOOK THROUGH", "LOOK AT", and so on.
|
||||
|
||||
@begin (example)
|
||||
|
||||
ASK ATTACK BOARD BURN
|
||||
CLIMB CLOSE COUNT CROSS
|
||||
CUT DESTROY DIG DISEMBARK
|
||||
DRINK DROP EAT ENTER
|
||||
EXAMINE EXIT EXTINGUISH FILL
|
||||
FIND FLY FOLLOW GIVE
|
||||
HELLO JUMP KICK KILL
|
||||
KISS KNOCK LAUNCH LIE
|
||||
LIGHT LISTEN LOCK LOOK
|
||||
LOWER MOVE OPEN POINT
|
||||
POUR PULL PUSH PUT
|
||||
RAISE REACH READ SEARCH
|
||||
SHAKE SHOOT SHOW SLEEP
|
||||
SLIDE SMELL SPRAY STAND
|
||||
SWIM TAKE TELL THROW
|
||||
TIE TOUCH TURN UNLOCK
|
||||
UNTIE WAKE WALK WAVE
|
||||
|
||||
@end (example)
|
||||
|
||||
@heading ("SEASTALKER" COMPLAINTS)
|
||||
|
||||
SEASTALKER will complain to you if you type a sentence that confuses
|
||||
it completely. Here is a list of some of these complaints:
|
||||
|
||||
I DON'T KNOW THE WORD "[your word]".@*
|
||||
The word you typed is not in the
|
||||
program's list of words. Sometimes you can use another word that means
|
||||
the same thing. If not, SEASTALKER probably can't understand what
|
||||
you're trying to do.
|
||||
|
||||
YOU CAN'T USE THE WORD "[your word]" IN THAT WAY.@*
|
||||
The program knows the word you
|
||||
typed, but it couldn't understand the word in the way that you used it,
|
||||
usually because the program knows the word as a different part of
|
||||
speech. For example, if you typed "PRESS THE LOWER BUTTON", you used
|
||||
"LOWER" as an adjective, but the program might recognize it only as a
|
||||
verb.
|
||||
|
||||
I COULDN'T FIND A VERB IN THAT SENTENCE!@*
|
||||
Unless you are answering a
|
||||
question, each sentence must have a verb (or a command) in it somewhere.
|
||||
|
||||
I COULDN'T FIND ENOUGH NOUNS IN THAT SENTENCE!@*
|
||||
SEASTALKER expected
|
||||
a noun and couldn't find one. This usually means that your sentence was
|
||||
not complete, such as "PUT THE LAMP IN THE."
|
||||
|
||||
I FOUND TOO MANY NOUNS IN THAT SENTENCE!@*
|
||||
A valid SEASTALKER sentence
|
||||
has no more than two "objects." They are called the "direct object" and
|
||||
the "indirect object."
|
||||
For example, there are too many objects in
|
||||
"PUT THE SOUP IN THE BOWL WITH THE SPOON."
|
||||
|
||||
BE SPECIFIC: WHAT THING DO YOU WANT TO [your verb]?@*
|
||||
You used the word "HIM" or "HER" or "IT", but SEASTALKER didn't know
|
||||
what you meant. You should answer by typing the name of the person or
|
||||
thing you meant.
|
||||
|
||||
I BEG YOUR PARDON?@*
|
||||
SEASTALKER thinks that you didn't type anything
|
||||
after the prompt ">" and before hitting the RETURN (or ENTER) key.
|
||||
|
||||
YOU CAN'T SEE ANY [thing] HERE!@*
|
||||
The thing in your sentence was not
|
||||
visible. It might be somewhere else, inside a container, and so on.
|
||||
|
||||
THE OTHER THING(S) THAT YOU MENTIONED ISN'T (AREN'T) HERE.@*
|
||||
You
|
||||
used two or more nouns in the same sentence, and at least one of them
|
||||
wasn't visible.
|
||||
|
||||
YOU CAN'T GO THAT WAY.@*
|
||||
There was no way to go in the direction you tried.
|
||||
|
||||
YOU CAN'T USE MULTIPLE (IN)DIRECT OBJECTS WITH "[your verb]".@*
|
||||
You can
|
||||
use more than one "object" only with certain verbs, like "TAKE", "DROP",
|
||||
and "PUT". (This means nouns or noun phrases separated by the word "AND"
|
||||
or a comma). You can't use more than one object with most verbs, like
|
||||
"ATTACK", so you can't "ATTACK THE MONSTER AND THE ENEMY."
|
||||
|
||||
I ASSUME YOU MEAN THE [thing].@*
|
||||
You typed a word that the program knows as an adjective, like "BLUE,"
|
||||
without a noun, but it knew what you meant anyway. It's just telling you what noun it
|
||||
thinks you meant.
|
||||
|
||||
USE FIGURES FOR NUMBERS, FOR EXAMPLE "10."@*
|
||||
The program found a number word in your sentence, like "TEN," but it
|
||||
understands only figures, like "10."
|
||||
|
||||
PLEASE USE UNITS WITH NUMBERS.@*
|
||||
The program found a number in your sentence without any units to tell
|
||||
what the number means. Use a word after the number like "METERS" or "TURNS".
|
||||
|
||||
SORRY, BUT ENGLISH IS MY SECOND LANGUAGE. PLEASE REPHRASE THAT OR TRY
|
||||
SOMETHING ELSE.@*
|
||||
The program thought your sentence was
|
||||
nonsense, such as "GIVE HIM WITH TOOL." Or it didn't understand the
|
||||
syntax of your sentence, such as "SMELL UNDER THE ROCK." Try typing the
|
||||
sentence in a different way.
|
||||
|
||||
@heading (SENTENCE SYNTAX)
|
||||
|
||||
A valid SEASTALKER sentence should start with a verb or a command (such
|
||||
as "SCORE").
|
||||
|
||||
If you use multiple nouns for one "object", you must separate them by
|
||||
the word "AND" or by a comma.
|
||||
|
||||
If you type several sentences on one input line, you must separate them
|
||||
by a period or by the word "THEN". You don't need a period at the end of
|
||||
an input line.
|
||||
|
||||
You can ask @U(only three) kinds of questions: "WHO", "WHERE" and "WHAT".
|
||||
|
||||
The short way to type compass directions is "N", "E", "S", "W", "NE", "SE", "SW", and "NW."
|
||||
The short way to type "UP" and "DOWN" is "U" and "D."
|
||||
|
||||
Other short words include "L" for "LOOK", "I" for "INVENTORY",
|
||||
and "Z" for "WAIT."
|
||||
|
||||
@heading (COMMAND SUMMARY)
|
||||
|
||||
You can type these commands when the prompt ">" has appeared
|
||||
on the screen. For an explanation of these commands, see the section
|
||||
called "Important Commands" earlier in this manual.
|
||||
|
||||
@begin (example)
|
||||
BRIEF
|
||||
DIAGNOSE
|
||||
INVENTORY (or I)
|
||||
LOOK (or L)
|
||||
QUIT (or Q)
|
||||
RELEASE
|
||||
RESTART
|
||||
RESTORE
|
||||
SAVE
|
||||
SCORE
|
||||
SCRIPT
|
||||
SUPERBRIEF
|
||||
UNSCRIPT
|
||||
VERBOSE
|
||||
WAIT
|
||||
@end (example)
|
||||
|
||||
@heading (WE'RE NEVER SATISFIED)
|
||||
|
||||
Here at the Cambridge chapter of the Young Adventure Story Writers
|
||||
Club, we take great pride in the quality of our work. Even after
|
||||
our stories are in your hands, we still want to make them better.
|
||||
|
||||
Your comments are important. No matter how much testing we do, it seems that
|
||||
there are "bugs" that never crawl into view until thousands of you
|
||||
begin typing all those millions of sentences into the program. If you find a
|
||||
"bug", or if you think the program should recognize your favorite word
|
||||
or sentence, or if you found a certain puzzle too hard or too
|
||||
easy, or if you'd just like to tell us what you thought of the story, then
|
||||
write to us! We love an excuse to stop working and fool around for a
|
||||
while, and a letter from you would be just such an excuse! Write to:
|
||||
|
||||
@begin (example)
|
||||
|
||||
Infocom, Inc.
|
||||
Department J
|
||||
55 Wheeler street
|
||||
Cambridge, Mass. 02138
|
||||
|
||||
@end (example)
|
||||
|
||||
You can call the Infocom Technical Support Team to report "bugs" and
|
||||
technical problems at (617) 576-3190. If your diskette fails within 90
|
||||
days after purchase, we will replace it free of charge. Otherwise, we
|
||||
will replace it for a fee of $5.00. Please mail us your registration
|
||||
card if you'd like to be on our mailing list and receive our newsletter.
|
||||
|
||||
@heading (OPERATING CONTROLS)
|
||||
|
||||
If the Ultramarine Bioceptor (UB) operated like a real submarine, you
|
||||
would need a long training period just to learn how to operate it before
|
||||
you could enjoy playing this game!
|
||||
|
||||
Instead of travelling in a straight line in any direction you want, the
|
||||
UB moves from square to square like a chess queen. The UB's squares are
|
||||
rather large, 500 meters on a side.
|
||||
And since the UB is a submarine that can go down and up under water
|
||||
("DIVE" and "SURFACE"), it uses a grid of squares for each depth. To keep
|
||||
it simple, the UB goes up or down only in steps of 5 meters,
|
||||
and it goes only one step up or down for each square that it
|
||||
moves side-to-side.
|
||||
|
||||
You can pilot the UB using its four controls:
|
||||
@begin (itemize)
|
||||
|
||||
The THROTTLE controls how fast the UB travels. You can set it to one of
|
||||
several different speeds, corresponding to moving a certain number of
|
||||
squares per turn: (0) standing still, (1) slow, (2) cruise,
|
||||
or (3) high speed.
|
||||
|
||||
The FORWARD/REVERSE LEVER controls whether the UB moves forward or
|
||||
backward. You can switch from one to the other only when the UB is
|
||||
standing still. If you enter the Aquadome going forward, you have to
|
||||
back out, and vice versa.
|
||||
|
||||
The JOYSTICK
|
||||
turns the UB to face one of the compass directions:
|
||||
north, northeast, east, southeast, south, southwest, west, or northwest.
|
||||
(If you have a joystick on your computer, and if it's the right kind of
|
||||
computer, then you can use your joystick instead of the UB's!)
|
||||
|
||||
The DEPTH CONTROL directs the UB's automatic guidance system to keep
|
||||
a certain depth below the surface of the water. You can set it to any
|
||||
multiple of 5 meters within the sub's operating range. When you set
|
||||
it to a new target depth, the UB automatically adjusts its buoyancy and
|
||||
diving planes so it will approach the target depth. It will change depth
|
||||
by 5 meters each time it moves one square horizontally. If the
|
||||
throttle is set to "standing still," so that the UB isn't moving
|
||||
horizontally, then it will go straight up or straight down, 5
|
||||
meters per turn.
|
||||
When it
|
||||
reaches target depth, it will automatically level out and stay at that
|
||||
depth, assuming that it doesn't run into anything.
|
||||
|
||||
The AUTO PILOT can handle all these controls automatically, except
|
||||
the throttle.
|
||||
@end (itemize)
|
||||
720
manual.mss
Normal file
720
manual.mss
Normal file
@@ -0,0 +1,720 @@
|
||||
@style (spacing 1)
|
||||
@title [SEASTALKER(tm) MANUAL]
|
||||
@center [MANUAL FOR SEASTALKER(tm)]
|
||||
@center (Comments to Stu Galley)
|
||||
|
||||
@chapter (INTRODUCTION)
|
||||
|
||||
Welcome to the world of Infocom interactive fiction -- a world where:
|
||||
@begin (itemize)
|
||||
you become the hero or heroine in a story,
|
||||
|
||||
you can use your own thinking and
|
||||
imagination to guide that story from start to finish,
|
||||
|
||||
you can meet other people, who may help you or not, and
|
||||
|
||||
you can go to new places, figure out mysteries and puzzles,
|
||||
and fight against monsters or enemies.
|
||||
@end (itemize)
|
||||
|
||||
In SEASTALKER, you become a young inventor working in your father's
|
||||
business. Your newest invention is a small submarine that has only two seats
|
||||
inside, for you and your pal Tip. The submarine can dive deeply into
|
||||
the sea to capture plants and animals for you to study. But you will
|
||||
have to use it to save your undersea scientific station from a sea monster
|
||||
that is attacking it!
|
||||
|
||||
@heading (RULES AND STRATEGIES)
|
||||
|
||||
When you play SEASTALKER, the story goes on only from the time you hit
|
||||
the RETURN (or ENTER) key until you see the prompt ">". You could
|
||||
imagine a clock that ticks once for each sentence you type, and the
|
||||
story continues only at each tick. Nothing happens in the story from the
|
||||
time you see the prompt ">" until you hit the RETURN (or ENTER) key. You
|
||||
can think and plan your moves as slowly and carefully as you want.
|
||||
|
||||
SEASTALKER keeps track of your score and gives you points when it
|
||||
thinks you have done something "right." You can try to get a perfect
|
||||
score if you want, but you should also try to guide the story to an
|
||||
ending that you like and to have fun along the way.
|
||||
|
||||
One
|
||||
way to move from place to place in the story is to type "GO TO [a place]"
|
||||
-- that means to type the words "GO TO" and then the name of the place
|
||||
where you want to go. You can find the names of places by looking at the
|
||||
maps in your SEASTALKER package.
|
||||
|
||||
If you don't want to miss anything on the way to another place, you can
|
||||
go toward it one place at a time, by typing the compass direction in
|
||||
which you want to go each turn. The main compass directions are "NORTH",
|
||||
"EAST", "SOUTH", and "WEST", and the ones in between are "NORTHEAST",
|
||||
"SOUTHEAST", "SOUTHWEST", and "NORTHWEST." Most players like to type
|
||||
these shorter words instead: "N", "E", "S", "W", "NE", "SE", "SW", and
|
||||
"NW." Sometimes you can use "UP" or "DOWN" ("U" or "D" for short) or
|
||||
"IN" or "OUT."
|
||||
|
||||
Whenever you go into a place, SEASTALKER tells you the name of the place.
|
||||
It displays the name of the place, in parentheses, like "(lab center)".
|
||||
As you explore the different places in SEASTALKER, you should read
|
||||
carefully what the program displays and get to know the places you
|
||||
visit. You don't need to walk around or turn around within a place;
|
||||
anything you can see there is always within your reach, unless you are sitting
|
||||
or lying down or hiding.
|
||||
|
||||
When you enter a place for the first time, SEASTALKER normally displays
|
||||
the name of the place and all about what you can see there. When you
|
||||
return to that place again, SEASTALKER normally displays only the name
|
||||
of the place and the names of interesting things there.
|
||||
|
||||
If you want
|
||||
SEASTALKER to display all about a place every time you go there, not
|
||||
just the first time, type the command "VERBOSE" instead of a sentence.
|
||||
If you want SEASTALKER to go back to normal, type the command "BRIEF"
|
||||
instead of a sentence. If you want SEASTALKER to display only the name
|
||||
of a place and not to tell you what's there, even the very first time
|
||||
you go there, type the command "SUPERBRIEF" instead of a sentence.
|
||||
SUPERBRIEF mode is really only for players who already know
|
||||
their way around the story. (When
|
||||
you are in SUPERBRIEF mode, you can still type "LOOK" or "L", and
|
||||
SEASTALKER will describe the place you are in and the things there.)
|
||||
|
||||
@heading (CONCEPTS FOR EXPLORING)
|
||||
|
||||
One main idea of interactive fiction is to solve puzzles.
|
||||
You should think of a locked door or an
|
||||
unfriendly creature in the story not as an obstacle but as a
|
||||
puzzle that you need to solve. Sometimes the best way to solve a puzzle is to
|
||||
find something that appears in the story, take
|
||||
it with you, and then use it in the right way. Here are some ways
|
||||
that things in the story behave:
|
||||
|
||||
@U(Containers): Some things are containers that can hold other
|
||||
things. You can open or close some containers, like a box. Other
|
||||
containers are always open, like a bowl. Other containers are
|
||||
transparent, like a glass box, and you can see inside them even when
|
||||
they are closed. Other things have a surface, like a table, and you can
|
||||
put things on them. All containers can hold a certain amount and no
|
||||
more, like a small box. Some things are big, and some are little.
|
||||
|
||||
Here is an example to show how a container works:
|
||||
|
||||
@begin (example)
|
||||
|
||||
>OPEN THE TINY BOX
|
||||
Opening the tiny box reveals an ID amulet.
|
||||
|
||||
>PUT THE DIARY IN THE TINY BOX
|
||||
There's no room.
|
||||
|
||||
>TAKE THE AMULET
|
||||
You are now holding the ID amulet.
|
||||
|
||||
>LOOK IN THE BOX
|
||||
It's empty.
|
||||
|
||||
@end (example)
|
||||
|
||||
@U(People): You can talk to the other people in SEASTALKER. (For
|
||||
details, see the section later in this manual called "Typing to
|
||||
SEASTALKER.") Most other people will be glad to help you by doing what
|
||||
you tell them to. Some other people may be unfriendly or too busy to
|
||||
help, or they may think that you are an enemy.
|
||||
|
||||
Here is an example of dealing with a person:
|
||||
|
||||
@begin (example)
|
||||
Tip is standing here, chewing his gum.
|
||||
|
||||
>TIP, FOLLOW ME
|
||||
"I'm already following you."
|
||||
|
||||
>SOUTH
|
||||
(south tank area)
|
||||
Tip follows you into the south tank area.
|
||||
|
||||
>ASK TIP ABOUT THE PROBLEM
|
||||
Tip says, "I don't know anything about it."
|
||||
@end (example)
|
||||
|
||||
@heading (LOADING "SEASTALKER")
|
||||
|
||||
Now that you know something about the world of interactive fiction, it's
|
||||
time to try "booting" your diskette in order to load the program. To
|
||||
load SEASTALKER, follow the instructions on the Reference Card in your
|
||||
SEASTALKER package.
|
||||
|
||||
First the program will ask you for your first and last name, so it can
|
||||
use them in the story. Then it will display the title of the story,
|
||||
followed by the first bit of action and a description of the
|
||||
place where the story begins. Finally, the prompt ">" will appear. When
|
||||
you have finished reading this manual, you will be ready to play SEASTALKER.
|
||||
|
||||
When you see the prompt ">", SEASTALKER is waiting for you to type in
|
||||
your instructions. When you have finished that, press the RETURN (or
|
||||
ENTER) key. The program will respond, and another prompt will appear.
|
||||
|
||||
Here is a quick exercise to help you get used to SEASTALKER. After you
|
||||
read the beginning of the story, type this sentence after the prompt
|
||||
">":
|
||||
|
||||
@begin (example)
|
||||
GO EAST
|
||||
@end (example)
|
||||
|
||||
and then press the RETURN (or ENTER) key. SEASTALKER will respond
|
||||
by describing the place that you went:
|
||||
|
||||
@begin (example)
|
||||
(east part)
|
||||
You're in the east part of your laboratory. A doorway leads out through
|
||||
a corridor to the office of your lab assistant. A Microwave Security
|
||||
Scanner stands against the wall. An intercom sits on the lab desk.
|
||||
Tip is off to the west.
|
||||
@end (example)
|
||||
|
||||
Now try typing:
|
||||
|
||||
@begin (example)
|
||||
TURN ON THE SCANNER
|
||||
@end (example)
|
||||
|
||||
After you press the RETURN (or ENTER) key, the program will respond:
|
||||
|
||||
@begin (example)
|
||||
No beep occurs. Scanner displays: NO INTRUDER PRESENT ON GROUNDS.
|
||||
@end (example)
|
||||
|
||||
You can explore the area around the lab, if you want; there's a map
|
||||
in your SEASTALKER package to help you. But soon, events in the story may make
|
||||
you want to get involved in it. You should read the rest of this manual first.
|
||||
@heading (TYPING TO "SEASTALKER")
|
||||
|
||||
When you play interactive fiction from Infocom,
|
||||
you type your sentences in plain
|
||||
English each time you see the prompt ">". You can pretend that all your
|
||||
sentences begin with "I want to...", but you should not actually type
|
||||
those words. You can use words like "THE" if you want, and you can use
|
||||
capital letters if you want; the program doesn't care either way.
|
||||
|
||||
When you have finished typing a sentence, press the RETURN (or ENTER)
|
||||
key. Then the program will respond, telling you if what you want to do
|
||||
is possible at this point in the story, and what happens next.
|
||||
|
||||
SEASTALKER looks only at the first six letters of each long word you
|
||||
type, and it ignores any letters after that. So, the words "ELECTRic"
|
||||
and "ELECTRonic" would look like the same word to SEASTALKER.
|
||||
|
||||
SEASTALKER understands many different kinds of sentences. Here are
|
||||
some examples, using things or situations that may not actually occur in
|
||||
the story:
|
||||
|
||||
@begin (example)
|
||||
TAKE THE MIKE
|
||||
PUT ON THE AMULET
|
||||
PICK UP THE CATALYST CAPSULE
|
||||
DROP IT
|
||||
GO OUT
|
||||
DROP THE MIKE ONTO THE WORKBENCH
|
||||
WALK NORTH
|
||||
WEST
|
||||
SW
|
||||
GET IN THE SUBMARINE
|
||||
PUSH THE JOYSTICK EAST
|
||||
EXAMINE THE DEPTH FINDER
|
||||
SHOOT THE MONSTER WITH THE DART
|
||||
LOOK AT THE SONARSCOPE
|
||||
LOOK UNDER THE WORKBENCH
|
||||
LOOK BEHIND THE COMPUTESTOR
|
||||
AIM SEARCH BEAM TO STARBOARD
|
||||
QUESTION TIP
|
||||
@end (example)
|
||||
|
||||
You can use more than one noun for a "direct object" or
|
||||
"indirect object" with some verbs, if you
|
||||
separate the nouns by the word "AND" or by a comma.
|
||||
For example:
|
||||
|
||||
@begin (example)
|
||||
DROP THE MIKE AND THE NOTEBOOK
|
||||
TAKE BLACK BOX, OXYGEN GEAR, AND UNIVERSAL TOOL
|
||||
PUT THE DIARY AND THE PHOTO IN THE LOCKER
|
||||
@end (example)
|
||||
|
||||
You can put more than one sentence on one input line, if you separate
|
||||
them by the word "THEN" or by a period. You don't need a
|
||||
period at the end of an input line. For example, you
|
||||
could type all these sentences on one input line, before pressing the
|
||||
RETURN (or ENTER) key:
|
||||
|
||||
@begin (example)
|
||||
READ THE SIGN. OPEN THE HATCH. GO THROUGH IT.
|
||||
@end (example)
|
||||
|
||||
You will meet other people as you play
|
||||
SEASTALKER. You can "talk" to these people by typing their name,
|
||||
then a comma, then whatever you want them to do. For example:
|
||||
|
||||
@begin (example)
|
||||
TIP, FOLLOW ME
|
||||
ZOE, KILL THE MONSTER
|
||||
MICK, GO TO THE AIRLOCK THEN FIX THE SUBMARINE
|
||||
AMY, WAIT HERE
|
||||
@end (example)
|
||||
|
||||
If you forget to type the person's name first, SEASTALKER will sometimes
|
||||
assume that you meant to talk to the same person again, or to the only
|
||||
other person in the same place with you. When it does this, it will tell
|
||||
you. For example:
|
||||
|
||||
@begin (example)
|
||||
>ASK ABOUT THE MONSTER
|
||||
(said to Tip)
|
||||
"You know as much about it as I do."
|
||||
@end (example)
|
||||
|
||||
SEASTALKER tries to guess what you really mean if you don't give
|
||||
enough information. For example, if you type that you want to do
|
||||
something, but not what to do it with, SEASTALKER may
|
||||
decide that there was only one possible thing you could have meant.
|
||||
When it does this, it will tell you. For example:
|
||||
|
||||
@begin (example)
|
||||
|
||||
>UNLOCK THE DOOR
|
||||
(with the key)
|
||||
The door is now unlocked.
|
||||
|
||||
>GET OUT
|
||||
(out of the Ultramarine Bioceptor)
|
||||
|
||||
@end (example)
|
||||
|
||||
If you try to use something that you need to be holding, but you forgot
|
||||
to pick it up first, SEASTALKER will pick it up for you. For example:
|
||||
|
||||
@begin (example)
|
||||
>LOOK
|
||||
You are in the library. There is a book here.
|
||||
|
||||
>READ THE BOOK
|
||||
(taken)
|
||||
The book is far too long to read it all now.
|
||||
|
||||
>INVENTORY
|
||||
You are carrying:
|
||||
a book
|
||||
@end (example)
|
||||
|
||||
If SEASTALKER thinks that your sentence could have more than one
|
||||
meaning, it will ask what you really meant.
|
||||
You can answer it by typing just the missing
|
||||
information; you don't have to type the whole sentence again. For example:
|
||||
|
||||
@begin (example)
|
||||
>PUT THE RELAY
|
||||
What do you want to put the relay in?
|
||||
>THE EMPTY SPACE
|
||||
It fits!
|
||||
|
||||
>OPEN THE HATCH
|
||||
Which hatch do you mean, the entry hatch or the access hatch?
|
||||
>ENTRY
|
||||
O.K.
|
||||
@end (example)
|
||||
|
||||
SEASTALKER uses many words that it will not recognize in your
|
||||
sentences. For example, you might see "Sunlight shimmers across the
|
||||
dusty cobwebs." in the description of a place. However, if the program
|
||||
doesn't recognize the words "SUNLIGHT" or "COBWEBS" in your sentence,
|
||||
then you know that you don't need the sunlight and cobwebs to finish the
|
||||
story; they are in the description only to make the story more
|
||||
interesting. SEASTALKER recognizes nearly all the words that you are
|
||||
likely to type, over 900 of them. If SEASTALKER doesn't know a word
|
||||
that you want to use, or any word that means the same thing, you are almost
|
||||
certainly trying the wrong way to solve a puzzle.
|
||||
|
||||
SEASTALKER will complain to you if you type a sentence that confuses
|
||||
it completely. (The end of this manual has an explanation of these
|
||||
complaints.) After it complains, SEASTALKER will ignore the rest of
|
||||
your input line. SEASTALKER will also ignore the rest of the sentences
|
||||
you typed on one line if something really important happens in the
|
||||
story, since you may want to change your mind about what to do next.
|
||||
|
||||
@heading (TIPS FOR NEW PLAYERS)
|
||||
|
||||
Many things that you discover in the story are important, because they
|
||||
give you clues about the puzzles you must solve. You should examine or
|
||||
read everything that seems important to you. Even silly or dangerous
|
||||
actions may give you clues; they can even be fun. Besides, you can
|
||||
always start the story over again, or you can save your place first.
|
||||
(There is a section later in this manual about starting over and saving
|
||||
your place.) Here's a silly example:
|
||||
|
||||
@begin (example)
|
||||
>GIVE THE MAGIC GERANIUM TO THE MONSTER
|
||||
For a moment, the monster thinks about eating the geranium instead
|
||||
of you. But then it decides not to, and it comes closer and closer to you.
|
||||
@end (example)
|
||||
|
||||
Here you have learned something about what the monster does not
|
||||
like to eat, and you have a clue that giving something else (maybe that
|
||||
yellow "goo" you are carrying?) to it would work better.
|
||||
|
||||
There are many possible ways to get to the end of
|
||||
SEASTALKER. Some puzzles that you find along the way may have more
|
||||
than one solution, and you may not need to solve others at all. Sometimes
|
||||
solving a puzzle one way will make it harder to solve another,
|
||||
and sometimes it will make it easier.
|
||||
|
||||
Many people like
|
||||
to play SEASTALKER with another person. One person may find a
|
||||
puzzle hard while another may find it easy, so two or more players often
|
||||
can have more fun than one player alone.
|
||||
|
||||
You can use the maps that came with your SEASTALKER package
|
||||
to help you move from place to place.
|
||||
Remember that there are eight compass directions, not counting "IN" and "OUT".
|
||||
|
||||
If you get stuck, you can order a booklet of hints from
|
||||
Infocom by filling out and mailing in the "Bilk and Wheedle" flyer in your
|
||||
SEASTALKER package.
|
||||
|
||||
If you read the sample transcript in the next section, you should get a
|
||||
feeling for how to play interactive fiction.
|
||||
|
||||
@heading (SAMPLE STORY TRANSCRIPT)
|
||||
|
||||
This transcript is not from SEASTALKER, but it does show most of
|
||||
the usual things that you can do while playing. It shows
|
||||
several simple puzzles and their solutions, and it should give the
|
||||
new player a good idea of how interactive fiction works.
|
||||
|
||||
@begin (example)
|
||||
[to be supplied]
|
||||
@end (example)
|
||||
|
||||
@heading (SAVING, RESTORING, RESTARTING, AND QUITTING)
|
||||
|
||||
If you want to stop playing, and you don't care about saving your
|
||||
place for another time, type the command "QUIT." Just to be sure,
|
||||
SEASTALKER will ask you if you really want to leave the story, and you
|
||||
should type "YES."
|
||||
|
||||
If you want to start over from the beginning of the story, type the
|
||||
command "RESTART." Once again, SEASTALKER will ask to make sure that
|
||||
this is really what you want to do.
|
||||
|
||||
If you want to stop playing for now, but continue from this same place
|
||||
at another time, type the command "SAVE." Since it takes many hours to
|
||||
finish SEASTALKER, you will probably not finish it in one sitting. By
|
||||
using the "SAVE" command, you can continue playing at a later time
|
||||
without having to start over from the beginning, just as you can put a
|
||||
bookmark in a book you are reading. The "SAVE" command makes a
|
||||
"snapshot" of your place in the story on another diskette. If you are a
|
||||
cautious or careful player, you may want to save your place before you
|
||||
try something dangerous or tricky. Then you can return to the same
|
||||
place, even if you have gotten "killed" or lost since then.
|
||||
|
||||
To save your place in the story, just type "SAVE"
|
||||
after the prompt ">" and then follow the instructions on your
|
||||
Reference Card. Remember that most computers need a diskette for storage
|
||||
that has been initialized
|
||||
("formatted") before you start the story. Remember also
|
||||
that you may not be able to use that diskette for anything else.
|
||||
|
||||
To continue playing from any place where you used the "SAVE" command,
|
||||
just type "RESTORE" after the prompt ">" and follow the instructions on
|
||||
your Reference Card. Then you can continue playing from the place where
|
||||
you used the "SAVE" command. You can type "LOOK" to get a description of
|
||||
where you are. You can use "RESTORE" on any "snapshot" you have made
|
||||
whenever you want.
|
||||
|
||||
@heading (IMPORTANT COMMANDS)
|
||||
|
||||
You can type a command to SEASTALKER instead of a sentence. Some
|
||||
commands give you information and others let you start or stop the
|
||||
story. Some of these commands were also explained earlier in this
|
||||
manual. You can use these commands again and again, as you wish. Some
|
||||
commands count as a turn, and the story will go on, while others do not.
|
||||
|
||||
"BRIEF" commands SEASTALKER to
|
||||
display all about a place or thing only the first time you see it.
|
||||
This is the way it works when the story begins.
|
||||
|
||||
"DIAGNOSE" commands SEASTALKER to give you a brief report about your medical
|
||||
condition.
|
||||
|
||||
"INVENTORY" or "I" commands SEASTALKER to display a list of all the
|
||||
things that you are carrying.
|
||||
|
||||
"LOOK" or "L" commands SEASTALKER to describe the place you are in.
|
||||
|
||||
"QUIT" or "Q" allows you to quit playing. If you want to quit for now,
|
||||
but continue from this same place at another time, use the "SAVE" command.
|
||||
|
||||
"RESTART" stops the story and starts over from the beginning.
|
||||
|
||||
"RESTORE" lets you continue playing from any place where you used the
|
||||
"SAVE" command.
|
||||
|
||||
"REVISION" tells you the Revision number and the Serial number of
|
||||
your copy of SEASTALKER.
|
||||
|
||||
"SAVE" lets you stop playing for now, but continue from this same place
|
||||
at another time, by making a "snapshot" on your storage diskette.
|
||||
|
||||
"SCORE" tells your current score and a rank based on it.
|
||||
|
||||
"SCRIPT" commands your printer to start making a transcript of the story
|
||||
as you play. Your Reference Card tells if you can use this feature.
|
||||
|
||||
"SUPERBRIEF" commands SEASTALKER to
|
||||
display only the name of a place, even the first time you see it.
|
||||
|
||||
"UNSCRIPT" commands your printer to stop making a transcript.
|
||||
|
||||
"VERBOSE" commands SEASTALKER to
|
||||
display all about a place or thing every time you see it.
|
||||
|
||||
"WAIT" or "Z" causes time in the story to pass. Normally, between your
|
||||
input lines, nothing happens in the story. You could leave the computer,
|
||||
travel around the world underwater for a year, and return to the story
|
||||
to find that nothing has changed. You can use the "WAIT" command to make
|
||||
time pass in the story without doing anything, if you are waiting for a
|
||||
person to arrive, waiting for something to happen, and so on.
|
||||
|
||||
@heading (USEFUL VERBS)
|
||||
|
||||
Here is a list of some of the verbs that SEASTALKER
|
||||
understands. Remember that you can use prepositions with these verbs;
|
||||
for example, "LOOK" can become "LOOK INSIDE", "LOOK
|
||||
BEHIND", "LOOK UNDER", "LOOK THROUGH", "LOOK AT", and so on.
|
||||
|
||||
@begin (example)
|
||||
|
||||
ASK ATTACK BOARD BURN
|
||||
CLIMB CLOSE COUNT CROSS
|
||||
CUT DESTROY DIG DISEMBARK
|
||||
DRINK DROP EAT ENTER
|
||||
EXAMINE EXIT EXTINGUISH FILL
|
||||
FIND FLY FOLLOW GIVE
|
||||
HELLO JUMP KICK KILL
|
||||
KISS KNOCK LAUNCH LIE
|
||||
LIGHT LISTEN LOCK LOOK
|
||||
LOWER MOVE OPEN POINT
|
||||
POUR PULL PUSH PUT
|
||||
RAISE REACH READ SEARCH
|
||||
SHAKE SHOOT SHOW SLEEP
|
||||
SLIDE SMELL SPRAY STAND
|
||||
SWIM TAKE TELL THROW
|
||||
TIE TOUCH TURN UNLOCK
|
||||
UNTIE WAKE WALK WAVE
|
||||
|
||||
@end (example)
|
||||
|
||||
@heading ("SEASTALKER" COMPLAINTS)
|
||||
|
||||
SEASTALKER will complain to you if you type a sentence that confuses
|
||||
it completely. Here is a list of some of these complaints:
|
||||
|
||||
I DON'T KNOW THE WORD "[your word]".@*
|
||||
The word you typed is not in the
|
||||
program's list of words. Sometimes you can use another word that means
|
||||
the same thing. If not, SEASTALKER probably can't understand what
|
||||
you're trying to do.
|
||||
|
||||
YOU CAN'T USE THE WORD "[your word]" IN THAT WAY.@*
|
||||
The program knows the word you
|
||||
typed, but it couldn't understand the word in the way that you used it,
|
||||
usually because the program knows the word as a different part of
|
||||
speech. For example, if you typed "PRESS THE LOWER BUTTON", you used
|
||||
"LOWER" as an adjective, but the program might recognize it only as a
|
||||
verb, as in "LOWER THE BOOM."
|
||||
|
||||
I COULDN'T FIND A VERB IN THAT SENTENCE!@*
|
||||
Unless you are answering a
|
||||
question, each sentence must have a verb (or a command) in it somewhere.
|
||||
|
||||
I COULDN'T FIND ENOUGH NOUNS IN THAT SENTENCE!@*
|
||||
SEASTALKER expected
|
||||
a noun and couldn't find one. This usually means that your sentence was
|
||||
not complete, such as "PUT THE LAMP IN THE."
|
||||
|
||||
I FOUND TOO MANY NOUNS IN THAT SENTENCE!@*
|
||||
A valid SEASTALKER sentence
|
||||
has no more than two "objects." They are called the "direct object" and
|
||||
the "indirect object."
|
||||
For example, there are too many objects in
|
||||
"PUT THE SOUP IN THE BOWL WITH THE SPOON."
|
||||
|
||||
BE SPECIFIC: WHAT THING DO YOU WANT TO [your verb]?@*
|
||||
You used the word "HIM" or "HER" or "IT", but SEASTALKER didn't know
|
||||
what you meant. You should answer by typing the name of the person or
|
||||
thing you meant.
|
||||
|
||||
I BEG YOUR PARDON?@*
|
||||
SEASTALKER thinks that you didn't type anything
|
||||
after the prompt ">" and before hitting the RETURN (or ENTER) key.
|
||||
|
||||
YOU CAN'T SEE ANY [thing] HERE!@*
|
||||
The thing in your sentence was not
|
||||
visible. It might be somewhere else, inside a container, and so on.
|
||||
|
||||
THE OTHER THING(S) THAT YOU MENTIONED ISN'T (AREN'T) HERE.@*
|
||||
You
|
||||
used two or more nouns in the same sentence, and at least one of them
|
||||
wasn't visible.
|
||||
|
||||
YOU CAN'T GO THAT WAY.@*
|
||||
There was no way to go in the direction you tried.
|
||||
|
||||
YOU CAN'T USE MULTIPLE (IN)DIRECT OBJECTS WITH "[your verb]".@*
|
||||
You can
|
||||
use more than one "object" only with certain verbs, like "TAKE", "DROP",
|
||||
and "PUT". (This means nouns or noun phrases separated by the word "AND"
|
||||
or a comma.) You can't use more than one object with most verbs, like
|
||||
"ATTACK", so you can't "ATTACK THE MONSTER AND THE ENEMY."
|
||||
|
||||
I ASSUME YOU MEAN THE [thing].@*
|
||||
You typed a word that the program knows as an adjective, like "BLUE,"
|
||||
without a noun, but it knew what you meant anyway. It's just telling you what noun it
|
||||
thinks you meant.
|
||||
|
||||
USE FIGURES FOR NUMBERS, FOR EXAMPLE "10."@*
|
||||
The program found a number word in your sentence, like "TEN," but it
|
||||
understands only figures, like "10."
|
||||
|
||||
PLEASE USE UNITS WITH NUMBERS.@*
|
||||
The program found a number in your sentence without any units to tell
|
||||
what the number means. Use a word after the number like "METERS" or "TURNS".
|
||||
|
||||
SORRY, BUT I DON'T UNDERSTAND. PLEASE REWORD THAT OR TRY
|
||||
SOMETHING ELSE.@*
|
||||
The program thought your sentence was
|
||||
nonsense, such as "GIVE HIM WITH TOOL." Or it didn't understand the
|
||||
syntax of your sentence, such as "SMELL UNDER THE ROCK." Try typing the
|
||||
sentence in a different way.
|
||||
|
||||
@heading (SENTENCE SYNTAX)
|
||||
|
||||
A valid SEASTALKER sentence should start with a verb or a command (such
|
||||
as "SCORE").
|
||||
|
||||
If you use multiple nouns for one "object", you must separate them by
|
||||
the word "AND" or by a comma.
|
||||
|
||||
If you type several sentences on one input line, you must separate them
|
||||
by a period or by the word "THEN". You don't need a period at the end of
|
||||
an input line.
|
||||
|
||||
The short way to type compass directions is "N", "E", "S", "W", "NE", "SE", "SW", and "NW."
|
||||
The short way to type "UP" and "DOWN" is "U" and "D."
|
||||
|
||||
Other short words include "L" for "LOOK", "I" for "INVENTORY",
|
||||
and "Z" for "WAIT."
|
||||
|
||||
@heading (COMMAND SUMMARY)
|
||||
|
||||
You can type these commands when the prompt ">" has appeared
|
||||
on the screen. For an explanation of these commands, see the section
|
||||
called "Important Commands" earlier in this manual.
|
||||
|
||||
@begin (example)
|
||||
BRIEF
|
||||
DIAGNOSE
|
||||
INVENTORY (or I)
|
||||
LOOK (or L)
|
||||
QUIT (or Q)
|
||||
RELEASE
|
||||
RESTART
|
||||
RESTORE
|
||||
SAVE
|
||||
SCORE
|
||||
SCRIPT
|
||||
SUPERBRIEF
|
||||
UNSCRIPT
|
||||
VERBOSE
|
||||
WAIT
|
||||
@end (example)
|
||||
|
||||
@heading (WE'RE NEVER SATISFIED)
|
||||
|
||||
Here at the Cambridge chapter of the Young Adventure Story Writers
|
||||
Club, we take great pride in the quality of our work. Even after
|
||||
our stories are in your hands, we still want to make them better.
|
||||
|
||||
Your comments are important. No matter how much testing we do, it seems that
|
||||
there are "bugs" that never crawl into view until thousands of you
|
||||
begin typing all those millions of sentences into the program. If you find a
|
||||
"bug", or if you think the program should recognize your favorite word
|
||||
or sentence, or if you found a certain puzzle too hard or too
|
||||
easy, or if you'd just like to tell us what you thought of the story, then
|
||||
write to us! We love an excuse to stop working and fool around for a
|
||||
while, and a letter from you would be just such an excuse! Write to:
|
||||
|
||||
@begin (example)
|
||||
|
||||
Infocom, Inc.
|
||||
Department J
|
||||
55 Wheeler street
|
||||
Cambridge, Mass. 02138
|
||||
|
||||
@end (example)
|
||||
|
||||
You can call the Infocom Technical Support Team to report "bugs" and
|
||||
technical problems at (617) 576-3190. If your diskette fails within 90
|
||||
days after purchase, we will replace it free of charge. Otherwise, we
|
||||
will replace it for a fee of $5.00. Please mail us your registration
|
||||
card if you'd like to be on our mailing list and receive our newsletter.
|
||||
|
||||
@heading (OPERATING CONTROLS)
|
||||
|
||||
If the Ultramarine Bioceptor (UB) operated like a real submarine, you
|
||||
would need a long training period just to learn how to operate it before
|
||||
you could enjoy playing this story!
|
||||
|
||||
Instead of travelling in a straight line in any direction you want, the
|
||||
UB moves from square to square like a chess queen. The UB's squares are
|
||||
rather large, 500 meters on a side.
|
||||
And since the UB is a submarine that can go down and up under water
|
||||
("DIVE" and "SURFACE"), it uses a grid of squares for each depth. To keep
|
||||
it simple, the UB goes up or down only in steps of 5 meters,
|
||||
and it goes only one step up or down for each square that it
|
||||
moves side-to-side.
|
||||
|
||||
You can pilot the UB using its four controls:
|
||||
@begin (itemize)
|
||||
|
||||
The THROTTLE controls how fast the UB travels. You can set it to one of
|
||||
several different speeds, corresponding to moving a certain number of
|
||||
squares per turn: (0) standing still, (1) slow, (2) cruise,
|
||||
or (3) high speed.
|
||||
|
||||
The FORWARD/REVERSE LEVER controls whether the UB moves forward or
|
||||
backward. You can switch from one to the other only when the UB is
|
||||
standing still. If you enter the Aquadome going forward, you have to
|
||||
back out, and vice versa.
|
||||
|
||||
The JOYSTICK
|
||||
turns the UB to face one of the compass directions:
|
||||
north, northeast, east, southeast, south, southwest, west, or northwest.
|
||||
(If you have a joystick on your computer, and if it's the right kind of
|
||||
computer, then you can use your joystick instead of the UB's!)
|
||||
|
||||
The DEPTH CONTROL directs the UB's automatic guidance system to keep
|
||||
a certain depth below the surface of the water. You can set it to any
|
||||
multiple of 5 meters within the sub's operating range. When you set
|
||||
it to a new target depth, the UB automatically adjusts its buoyancy and
|
||||
diving planes so it will approach the target depth. It will change depth
|
||||
by 5 meters each time it moves one square horizontally. If the
|
||||
throttle is set to "standing still," so that the UB isn't moving
|
||||
horizontally, then it will go straight up or straight down, 5
|
||||
meters per turn.
|
||||
When it
|
||||
reaches target depth, it will automatically level out and stay at that
|
||||
depth, assuming that it doesn't run into anything.
|
||||
|
||||
The AUTO PILOT can handle all these controls automatically, except
|
||||
the throttle.
|
||||
@end (itemize)
|
||||
1
non-atari.serial
Normal file
1
non-atari.serial
Normal file
@@ -0,0 +1 @@
|
||||
2
|
||||
18
non-atari.xzap
Normal file
18
non-atari.xzap
Normal file
@@ -0,0 +1,18 @@
|
||||
.INSERT "J1FREQ"
|
||||
.INSERT "J1DAT.ZAP.1"
|
||||
.INSERT "MACROS"
|
||||
.INSERT "MAIN"
|
||||
.INSERT "CLOCK"
|
||||
.INSERT "SUB"
|
||||
.INSERT "BATTLE"
|
||||
.INSERT "DOME"
|
||||
.INSERT "PLACES"
|
||||
.INSERT "PEOPLE"
|
||||
.INSERT "THINGS"
|
||||
.INSERT "GLOBAL"
|
||||
.INSERT "PARSER"
|
||||
.INSERT "SYNTAX"
|
||||
.INSERT "VERBS"
|
||||
.INSERT "EVENTS"
|
||||
.INSERT "J1STR"
|
||||
.END
|
||||
BIN
non-atari.zip
Normal file
BIN
non-atari.zip
Normal file
Binary file not shown.
114
outhouse.questionaire
Normal file
114
outhouse.questionaire
Normal file
@@ -0,0 +1,114 @@
|
||||
.c;Seastalker Testing Questionnaire
|
||||
.s
|
||||
.c;(If you need more room, use the back or another sheet.)
|
||||
.s 3
|
||||
.ts 40
|
||||
Tester's Name Parent's Name
|
||||
.s 2
|
||||
Address
|
||||
.s 3
|
||||
.ts 50,60
|
||||
Telephone number (include Area Code) Age Grade
|
||||
.s
|
||||
.s
|
||||
What brand of computer are you using?
|
||||
.ts 20
|
||||
Apple II
|
||||
Apple IIe
|
||||
Apple IIe with Apple 80-column option
|
||||
IBM-PC
|
||||
Other __________________
|
||||
.s
|
||||
How much memory does the computer have?
|
||||
32K
|
||||
48K
|
||||
64K
|
||||
more
|
||||
.s
|
||||
Have you ever played an Infocom game before?
|
||||
Yes
|
||||
No
|
||||
.s
|
||||
If you have, which ones?
|
||||
.s 4
|
||||
Have you ever played any other "adventure" games before?
|
||||
Yes
|
||||
No
|
||||
.s
|
||||
If you have, which ones?
|
||||
.s 4
|
||||
Do you think the Logbook in Seastalker was helpful? YES NO
|
||||
.s
|
||||
Do you think the Infocards were helpful? YES NO
|
||||
.s
|
||||
Do you think the nautical chart was helpful? YES NO
|
||||
.s
|
||||
What would you change?
|
||||
.s 4
|
||||
Do you think the vocabulary in Seastalker is:
|
||||
Too easy
|
||||
Easy
|
||||
Just right
|
||||
Hard
|
||||
Too hard
|
||||
.s
|
||||
What words didn't you understand?
|
||||
.s 4
|
||||
Do you think the descriptions in Seastalker are:
|
||||
Very clear
|
||||
Clear enough
|
||||
A little confusing
|
||||
Difficult to understand
|
||||
Too difficult to understand
|
||||
.s
|
||||
Which descriptions are not clear?
|
||||
.s
|
||||
.s
|
||||
.s
|
||||
.s
|
||||
.s
|
||||
.s
|
||||
After you finished the game, did you understand most of the story
|
||||
or only some parts?
|
||||
.s 2
|
||||
Did you understand what happened at the beginning, in the lab?
|
||||
What parts didn't you understand?
|
||||
.s 6
|
||||
Did you think operating the submarine was hard? Was it fun? What parts didn't you understand?
|
||||
.s 6
|
||||
Did you understand the things that happened in the Aquadome? What parts
|
||||
didn't you understand?
|
||||
.s 6
|
||||
Did you understand the final battle? What parts didn't
|
||||
you understand?
|
||||
.s 6
|
||||
Did the story make sense to you? If not, why didn't it make sense?
|
||||
.s 6
|
||||
Are there any things you would put in or take out to make the story
|
||||
clearer or better or more fun? Are there things you would not take out,
|
||||
no matter what?
|
||||
.s 6
|
||||
Overall, did you think the game was:
|
||||
Excellent
|
||||
Very good
|
||||
Good
|
||||
Fair
|
||||
Bad
|
||||
.s
|
||||
Which of the following "thank you" games would you like? (Check two if you are
|
||||
sending a transcript of your playing):
|
||||
Zork 1
|
||||
Zork 2
|
||||
Zork 3
|
||||
Enchanter
|
||||
Sorcerer
|
||||
Deadline
|
||||
Witness
|
||||
Starcross
|
||||
Suspended
|
||||
Planetfall
|
||||
Infidel
|
||||
Seastalker
|
||||
.s
|
||||
What brand of computer do you want these game(s) for?
|
||||
(Sorry, we cannot send a TRS-80 version of Zork I)
|
||||
302
package.gr
Normal file
302
package.gr
Normal file
@@ -0,0 +1,302 @@
|
||||
@style(spacing 1)
|
||||
@title (SEASTALKER - PACKAGE)
|
||||
@pageheading(DRAFT)
|
||||
|
||||
@majorheading (SEASTALKER DATA CARDS)
|
||||
|
||||
@heading (PLACES)
|
||||
|
||||
@begin (itemize)
|
||||
|
||||
FROBTON BAY -
|
||||
"Frobton Bay is roughly circular in shape. One arm of the bay ends at
|
||||
North. The other arm of the bay ends at East. The harbor is protected by
|
||||
a concrete seawall extending from one arm to the other. The opening in
|
||||
this sea wall -- through which all vessels must pass in order to enter
|
||||
or leave the bay -- lies NE of the test tank, about 30 grid squares away.@*
|
||||
North of Inventions Unlimited, along the shore of the bay, lies the town of
|
||||
Frobton, fronted by its commercial docks and fisheries -- then a
|
||||
boatyard, and finally the North Point lighthouse.@*
|
||||
East of Inventions Unlimited is a marina, a resort area, and the East Point
|
||||
Yacht Club.@*
|
||||
Frobton is a busy seaport. The waters are dotted with pleasure boats,
|
||||
fishing craft and commercial shipping. Vessels are constantly moving
|
||||
into and out of the harbor. Observe all Rules of the Road -- unless you
|
||||
prefer to submerge."
|
||||
|
||||
INVENTIONS UNLIMITED -
|
||||
This vast scientific enterprise was originally founded by your father,
|
||||
himself a world-famous inventor. You have since added even greater luster
|
||||
to the family name with your own numerous and unique inventions.@*
|
||||
The purpose of Inventions Unlimited is to advance the frontiers of human
|
||||
knowledge in every field of science, and to increase our awareness of and
|
||||
adjustment to the physical world on land, under the sea, in the air, and
|
||||
beyond Earth's own life-supporting atmosphere into the remotest reaches of
|
||||
Outer Space.@*
|
||||
There are five main units of Inventions Unlimited -- namely, the original
|
||||
research laboratory near the town of Frobton on the east coast of the
|
||||
United States; the Psycho-Biological Laboratory in Arizona; the undersea
|
||||
research station known as the Aquadome; the IU spaceport on a previously
|
||||
uninhabited island in the Caribbean; and the IU Satellite Network, consisting
|
||||
of an inhabited orbital space station and two communication satellites.
|
||||
Together, these three satellites provide the IU Videocom Network with
|
||||
global television and radio communication.
|
||||
|
||||
@end (itemize)
|
||||
@heading (THINGS)
|
||||
@begin (itemize)
|
||||
|
||||
COMPUTESTOR -
|
||||
The Computestor is for troubleshooting any invention, machine or system.
|
||||
It is connected by wires to all the ones in the lab.
|
||||
To consult it, you type "ASK COMPUTESTOR ABOUT (a device)."
|
||||
|
||||
MICROWAVE SECURITY SCANNER -
|
||||
This device is located at the East Wall of your laboratory. It sweeps
|
||||
the entire grounds of the research facility with harmless microwaves.
|
||||
All legitimate personnel carry special identification amulets which are
|
||||
automatically "read" by the microwaves. But any human configuration
|
||||
not so equipped will cause the scanner to beep loudly.
|
||||
|
||||
POWER SUPPLY -
|
||||
Inventions Unlimited generates its own electrical power by nuclear fusion.
|
||||
This power is transmitted to your lab via the building's Electrical
|
||||
Power Panel. This panel is located in the corridor just east of your
|
||||
lab.
|
||||
|
||||
CIRCUIT BREAKER -
|
||||
This breaker controls the power supply to the Videoscope and other
|
||||
equipment related to the private Television Network.
|
||||
|
||||
RADIO - for communication while on the surface
|
||||
|
||||
SONARPHONE -
|
||||
Since ordinary radio waves cannot travel very far through water, a
|
||||
submerged submarine must rely on the transmission and reception of sonar
|
||||
waves for most underwater communication. This is done by a sonar
|
||||
transceiver, entirely separate from the sonarscope used for ranging and
|
||||
searching the underwater environment.@*
|
||||
The sonar transceiver has a sonarphone to speak over, plus a loudspeaker
|
||||
and headset. The speaker and headset are automatically activated by
|
||||
incoming signals.
|
||||
|
||||
HYDROPHONE -
|
||||
This device picks up and amplifies all sounds in the surrounding
|
||||
undersea environment -- including possibly meaningful noises emitted by
|
||||
whales, dolphins, and other aquatic mammals. Inside the submarine, these
|
||||
sounds can be heard over either a loudspeaker or earphones.
|
||||
|
||||
SUBMARINE -
|
||||
This revolutionary new undersea craft has a special monocoque hull
|
||||
design which can withstand tremendous pressure. If your computations are
|
||||
right, it will be strong enough to explore any ocean trench
|
||||
-- and its searchlight will be able to pierce the
|
||||
sub-ocean darkness for 1000 meters in any direction.@*
|
||||
Its extensor claws, jointed like a lazy tongs, will be able to seize and
|
||||
transport not only mineral samples but also live biological specimens of
|
||||
considerable strength and size. However, you purposely made the pilot
|
||||
model of small, two-seater size so that Tip and you can test it thoroughly
|
||||
before undertaking larger commercial versions.@*
|
||||
|
||||
REACTOR -
|
||||
The craft is powered by a midget plasma-fusion reactor. This generates
|
||||
the electricity needed to power the Bioceptor's hydrojet propulsion
|
||||
system. The secret of the midget reactor is a special catalyst capsule.
|
||||
This capsule must be inserted into the reactor by the push of a lever in
|
||||
order to start the fusion process.
|
||||
|
||||
EMERGENCY OXYGEN GEAR -
|
||||
This is a little canister of oxygen that you can wear slung around
|
||||
your neck. When you turn the valve, you can suck air through a rubber
|
||||
straw at the top.
|
||||
Two canisters are in the "Scimitar", just like in all Inventions Unlimited
|
||||
submarines.
|
||||
|
||||
SEARCH BEAM -
|
||||
A yellow search light is switched on automatically by an
|
||||
electronic eye in the hull, when you descend beyond the depth
|
||||
to which daylight easily penetrates. You can aim it left or right
|
||||
(also called port or starboard) to illuminate objects up to 1000 meters away.
|
||||
|
||||
DEPTH FINDER -
|
||||
This device uses echo-sounding to determine the depth of the water
|
||||
below the sub. It is automatically activated whenever the sub is in
|
||||
motion. The depth is displayed in the form of a digital readout.@*
|
||||
During a dive, an orange warning light comes on and a warning buzzer is
|
||||
heard when the sub comes within 10 meters of the bottom.
|
||||
The light turns red, and the buzzer becomes louder and shriller when the
|
||||
sub comes within 5 meters of the bottom.
|
||||
|
||||
EXTENSOR CLAWS -
|
||||
These are the remote-controlled manipulating devices that make your
|
||||
revolutionary new submarine a true hunter and prober of the ocean depths.
|
||||
The claws are mounted on arms, which are jointed like lazy tongs and
|
||||
can be extended out to a maximum length of 10 meters from the hull of the
|
||||
submarine. The Ultramarine Bioceptor is equipped with two such claws.
|
||||
They can, of course, be swiveled and aimed in any direction.
|
||||
|
||||
EXTENSOR CLAW CONTROLS - (extend, retract, take, drop, aim, shoot)
|
||||
|
||||
REMOTE-CONTROL BUTTON - for signalling gates and airlocks to open or close
|
||||
|
||||
VIDEO CAMERAS -
|
||||
There are four video cameras installed in the hull of the Bioceptor.
|
||||
They are specially designed for underwater operation at great depths,
|
||||
and they have both infra-red sensitivity and image-enhancement features
|
||||
in order to obtain the best possible picture under the darkest, most adverse
|
||||
conditions.@*
|
||||
The cameras are so positioned on the hull as to command a full spherical
|
||||
view of the undersea environment. They are also equipped for immediate
|
||||
closed-circuit viewing on monitor screens inside the cabin, or for
|
||||
videotaping and playback.
|
||||
|
||||
SONARSCOPE -
|
||||
The sonarscope shows you solid objects at the same depth as the "Scimitar"
|
||||
within 2500 meters in any direction.
|
||||
A yellow warning light indicates that the bearing of an underwater blip
|
||||
is not changing, even though your sub and/or the object causing the blip
|
||||
are moving. This means you are on a collision course!
|
||||
The light will turn red and a loud alarm buzzer will sound when you
|
||||
and the approaching object are within one turn of a collision!
|
||||
|
||||
SONAR TRANSDUCER -
|
||||
This is the device that converts electrical oscillations into
|
||||
ultrasonic search pulses which are beamed out through the water and
|
||||
reflected from surrounding objects to produce "blips" on the sonarscope.@*
|
||||
A similar but separate transducer for the sonarphone system emits a
|
||||
continuous ultrasonic signal which can be used as an underwater carrier wave
|
||||
and modulated to transmit voice communication.
|
||||
|
||||
TEST BUTTON -
|
||||
All of your inventions, such as the Videocoms and the Ultramarine Bioceptor,
|
||||
have a built-in capability of testing themselves to discover the cause of
|
||||
any possible operating trouble. This troubleshooting circuitry is activated by
|
||||
pushing a test button. The results of the test are instantly displayed in
|
||||
the form of an electronic readout.
|
||||
|
||||
ENGINE COMPARTMENT -
|
||||
"It is located via an access door in the bulkhead just below and to the
|
||||
right of control panel."@*
|
||||
"The space is dimly illuminated by small work lights."@*
|
||||
"CRAWL CAREFULLY: Too large a waist or hip circumference, or
|
||||
too violent wriggling may pose SERIOUS DANGERS!"
|
||||
1-- Tight space presents risk of knocking delicate bearings out of alignment.
|
||||
2-- Hot, sharp or moving parts present danger of personal injury.
|
||||
|
||||
ESCAPE POD EJECTOR UNIT -
|
||||
This unit includes three parts:@*
|
||||
(1) an electronic monitor and alarm, designed to alert the user to any
|
||||
deterioration in the environment - oxygen, air pressure or whatever;@*
|
||||
(2) a hypodermic stimulant, designed to jab the user in the buttock
|
||||
in case s/he has passed out and does not respond to the warning alarm
|
||||
within two minutes; and@*
|
||||
(3) a pod and ejector system, designed to enclose the user in a watertight
|
||||
pod and eject him/her from the sub unless s/he manually deactivates
|
||||
the escape system within two minutes after the stimulant has been
|
||||
administered.@*
|
||||
The pod will contain a 12-hour air supply and S.O.S@. sonar signal
|
||||
transmitter. If reliably installed, these pods will offer you and Tip
|
||||
a chance to survive if a battle turns out disastrously.
|
||||
|
||||
AQUATIC DART GUN -
|
||||
The aquatic dart gun was originally designed for use as a handgun by
|
||||
individual divers in order to capture or temporarily immobilize large fish
|
||||
or other undersea creatures for purposes of scientific study. The dart is
|
||||
projected from the gun by means of a carbon-dioxide cartridge.@*
|
||||
Each dart contains a medical substance known as a "tranquilizer" which
|
||||
tends to soothe and make drowsy any creature into which it is injected.@*
|
||||
In this adventure, the dart gun is adapted by certain small changes so that
|
||||
it can be held and fired by one of the extensor claws on your new submarine,
|
||||
the Ultramarine Bioceptor.
|
||||
|
||||
PROSPECTING BAZOOKA OR 49-ER -
|
||||
Originally invented by you for use by individual miners and prospectors
|
||||
on land, you have since adapted it for purposes of prospecting for undersea
|
||||
minerals. Unlike the military weapon, the prospecting bazooka has a rifled
|
||||
launching tube and a screw-threaded projectile which has sufficient rocket
|
||||
power to bore a dozen feet into bedrock. The projectile is hollow and yields
|
||||
a core sample which can be reeled or winched up to the surface of the sea bed
|
||||
by means of a slender steel and nylon cable.
|
||||
The 49-er is usually fired by the diver from a shoulder-held position.
|
||||
@end (itemize)
|
||||
@heading (PEOPLE)
|
||||
@begin (itemize)
|
||||
|
||||
TIP BERKELEY -
|
||||
Tip is your closest pal and constant companion. A 19-year-old native
|
||||
Californian, he's an expert flier and often serves as test pilot of your
|
||||
futuristic aerospace craft, as well as land vehicles and undersea craft.@*
|
||||
Blond-haired, muscular, compactly built and good-natured if sometimes
|
||||
quick-tempered, he's more of a jock than a theoretical science buff of
|
||||
your caliber. Nevertheless, his rollicking high spirits and bulldog
|
||||
courage in tight spots make him an ideal sidekick and participant in all
|
||||
of your thrilling adventures.
|
||||
|
||||
SHANA KEMP -
|
||||
Shana is 21, red-haired, highly attractive and scarcely a year out of
|
||||
college.@*
|
||||
She acquired a degree in biochemistry at MIT, where her keen
|
||||
intelligence and inquiring mind quickly gained her a working familiarity
|
||||
with most other fields of science. Her late father, a professor of the
|
||||
history of science, was an old friend of your father. This led to her
|
||||
hiring at Inventions Unlimited, where she has since become a valued
|
||||
associate of you, the famous young inventor.
|
||||
|
||||
LOU PERELLI -
|
||||
Lou Perelli was trained as a military
|
||||
intelligence officer and later, after leaving the Army, became a private
|
||||
security expert before joining Inventions Unlimited. He has since undergone
|
||||
further training by both the FBI and CIA, and has a first-hand expertise
|
||||
in all phases of police work and counterespionage.
|
||||
|
||||
COMMANDER ZOE BRENT -
|
||||
Small, slim, with curly dark hair and the delicate beauty of a China
|
||||
doll, Zoe Brent is astonishingly strong and agile for her size and sex.
|
||||
Going by looks alone, it would be easy to forget that she's been a
|
||||
champion athlete since girlhood and is every bit as much physical as she
|
||||
is mental in her behavior and outlook.@*
|
||||
Already an Olympic-class swimmer and expert scuba diver while still in
|
||||
her teens, Zoe Brent joined the Naval ROTC program at UCLA and was
|
||||
commissioned Ensign USN. She then served two years on active duty and
|
||||
underwent training at the Navy's Frogman School. Later she got her
|
||||
doctorate in marine biology at Caltech and did research at Scripps
|
||||
Institute of Oceanography before joining Inventions Unlimited.@*
|
||||
Now 29, she has been in command of the Aquadome for the past three
|
||||
months. Reportedly not all personnel are happy to be serving under her.
|
||||
Aside from sexist prejudice, perhaps her own superb mental and physical
|
||||
capabilities, combined with her eagerness to carry out important
|
||||
undersea research, may tend to make her somewhat impatient and
|
||||
short-tempered with more plodding subordinates.
|
||||
|
||||
MICK CASEY -
|
||||
Mick Casey is a frogman-technician who's also a laser expert.
|
||||
|
||||
WALT NOVAK -
|
||||
Walt Novak is a young marine biochemist.
|
||||
|
||||
DOCTOR JEROME THORP -
|
||||
Dr@. Jerome Thorp is a distinguished marine biologist.@*
|
||||
"This is a copy of a magazine called 'Science World.' It is a popular
|
||||
magazine, not aimed just at scientists. It reports on interesting new
|
||||
scientific developments.@*
|
||||
The cover bears a picture of Dr@. Jerome Thorp, noted marine biologist,
|
||||
surrounded by an artist's imaginative drawings of weird new undersea
|
||||
life forms. The cover blurb says:@*
|
||||
HOT FLASH FROM THE MARINE BIOLOGY FRONT!@*
|
||||
... NEW SEA CREATURES SPAWNED BY TEST TUBE?@*
|
||||
The cover story is about Dr@. Thorp, who has
|
||||
reportedly created synthetic forms of marine life by means of genetic
|
||||
engineering. Reading further, you learn (1) that Dr@. Thorp has
|
||||
disappeared and apparently gone into hiding to duck the publicity
|
||||
resulting from his sensational feat; and (2) that before going into hiding,
|
||||
Thorp confided to close friends that he would soon marry a young
|
||||
American woman, Shana Kemp."@*
|
||||
"Size and appearance of synthetic creatures unknown.@*
|
||||
Their movements are said to be stimulated by ultrasonic pulses. Reportedly
|
||||
they can be trained to respond to such pulses.@*
|
||||
Because of secrecy, many scientists are skeptical of Thorp's experiments.@*
|
||||
Earlier technical papers by Thorp claimed that one-celled organisms
|
||||
had evolved in his lab from a bio-chemical called AMINO-HYDROPHASE or AH.@*
|
||||
If present rumors are true, these synthetic sea creatures presumably
|
||||
must also be based on the AH molecule."
|
||||
@end (itemize)
|
||||
35
package.mss
Normal file
35
package.mss
Normal file
@@ -0,0 +1,35 @@
|
||||
@style(spacing 1)
|
||||
@title (SEASTALKER - PACKAGE)
|
||||
@pageheading(DRAFT)
|
||||
|
||||
@majorheading (SEASTALKER INFOCARDS)
|
||||
|
||||
@begin (itemize)
|
||||
|
||||
INVENTIONS UNLIMITED -
|
||||
This vast scientific enterprise was originally founded by your father,
|
||||
himself a world-famous inventor. You have since added even greater luster
|
||||
to the family name with your own numerous and unique inventions.@*
|
||||
The purpose of Inventions Unlimited is to advance the frontiers of human
|
||||
knowledge in every field of science, and to increase our awareness of and
|
||||
adjustment to the physical world on land, under the sea, in the air, and
|
||||
beyond Earth's own life-supporting atmosphere into the remotest reaches of
|
||||
Outer Space.@*
|
||||
There are five main units of Inventions Unlimited -- namely, the original
|
||||
research laboratory near the town of Frobton on the east coast of the
|
||||
United States; the Psycho-Biological Laboratory in Arizona; the undersea
|
||||
research station known as the Aquadome; the IU spaceport on a previously
|
||||
uninhabited island in the Caribbean; and the IU Satellite Network, consisting
|
||||
of an inhabited orbital space station and two communication satellites.
|
||||
Together, these three satellites provide the IU Videocom Network with
|
||||
global television and radio communication.
|
||||
|
||||
VIDEOSCOPE -
|
||||
All the parts of Inventions Unlimited are connected in a Videoscope
|
||||
network for communicating with voice and picture. In the center of your
|
||||
lab is a Videoscope unit that works somewhat like a telephone. When it
|
||||
rings, you should answer by turning it on. If the person is calling
|
||||
urgently, a red alert signal will flash also. After you turn on the
|
||||
Videoscope, you may need to tune it by turning the tuning knob.
|
||||
|
||||
@end (itemize)
|
||||
399
parser.zap
399
parser.zap
@@ -7,7 +7,7 @@
|
||||
|
||||
.FUNCT I-PROMPT-2
|
||||
ZERO? P-PROMPT /FALSE
|
||||
SET 'P-PROMPT,0
|
||||
SET 'P-PROMPT,FALSE-VALUE
|
||||
CRLF
|
||||
PRINTI "(Are you tired of seeing ""What next?"" Well, you won't see it any more.)"
|
||||
CRLF
|
||||
@@ -18,17 +18,17 @@
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT PARSER,PTR=P-LEXSTART,WORD,VAL=0,VERB=0,LEN,DIR=0,NW=0,LW=0,NUM,SCNT,CNT=-1
|
||||
.FUNCT PARSER,PTR=P-LEXSTART,WRD,VAL=0,VERB=0,OF-FLAG=0,LEN,DIR=0,NW=0,LW=0,NUM,SCNT,CNT=-1
|
||||
?PRG1: IGRTR? 'CNT,P-ITBLLEN \?ELS5
|
||||
JUMP ?REP2
|
||||
?ELS5: PUT P-ITBL,CNT,0
|
||||
JUMP ?PRG1
|
||||
?REP2: SET 'P-NUMBER,-1
|
||||
SET 'P-NAM,0
|
||||
SET 'P-ADJ,0
|
||||
SET 'P-ADVERB,0
|
||||
SET 'P-MERGED,0
|
||||
SET 'P-WHAT-IGNORED,0
|
||||
SET 'P-NAM,FALSE-VALUE
|
||||
SET 'P-ADJ,FALSE-VALUE
|
||||
SET 'P-ADVERB,FALSE-VALUE
|
||||
SET 'P-MERGED,FALSE-VALUE
|
||||
SET 'P-WHAT-IGNORED,FALSE-VALUE
|
||||
PUT P-PRSO,P-MATCHLEN,0
|
||||
PUT P-PRSI,P-MATCHLEN,0
|
||||
PUT P-BUTS,P-MATCHLEN,0
|
||||
@@ -40,12 +40,12 @@
|
||||
LOC WINNER >HERE
|
||||
?CND8: ZERO? P-CONT /?ELS18
|
||||
SET 'PTR,P-CONT
|
||||
SET 'P-CONT,0
|
||||
SET 'P-CONT,FALSE-VALUE
|
||||
EQUAL? PRSA,V?TELL /?CND16
|
||||
CRLF
|
||||
JUMP ?CND16
|
||||
?ELS18: SET 'WINNER,PLAYER
|
||||
SET 'QUOTE-FLAG,0
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
LOC WINNER
|
||||
FSET? STACK,VEHBIT /?CND25
|
||||
LOC WINNER >HERE
|
||||
@@ -85,43 +85,43 @@
|
||||
CRLF
|
||||
RFALSE
|
||||
?CND59: SET 'LEN,P-LEN
|
||||
SET 'P-DIR,0
|
||||
SET 'P-DIR,FALSE-VALUE
|
||||
SET 'P-NCN,0
|
||||
SET 'P-GETFLAGS,0
|
||||
PUT P-ITBL,P-VERBN,0
|
||||
?PRG64: DLESS? 'P-LEN,0 \?ELS68
|
||||
SET 'QUOTE-FLAG,0
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
JUMP ?REP65
|
||||
?ELS68: GET P-LEXV,PTR >WORD
|
||||
CALL BUZZER-WORD?,WORD
|
||||
?ELS68: GET P-LEXV,PTR >WRD
|
||||
CALL BUZZER-WORD?,WRD
|
||||
ZERO? STACK \FALSE
|
||||
ZERO? WORD \?THN73
|
||||
CALL NUMBER?,PTR >WORD
|
||||
ZERO? WORD \?THN73
|
||||
CALL NAME?,PTR >WORD
|
||||
ZERO? WORD /?ELS72
|
||||
?THN73: EQUAL? WORD,W?TO \?ELS77
|
||||
ZERO? WRD \?THN73
|
||||
CALL NUMBER?,PTR >WRD
|
||||
ZERO? WRD \?THN73
|
||||
CALL NAME?,PTR >WRD
|
||||
ZERO? WRD /?ELS72
|
||||
?THN73: EQUAL? WRD,W?TO \?ELS77
|
||||
EQUAL? VERB,ACT?TELL,ACT?ASK \?ELS77
|
||||
SET 'VERB,ACT?TELL
|
||||
SET 'WORD,W?QUOTE
|
||||
SET 'WRD,W?QUOTE
|
||||
JUMP ?CND75
|
||||
?ELS77: EQUAL? WORD,W?THEN \?CND75
|
||||
?ELS77: EQUAL? WRD,W?THEN \?CND75
|
||||
ZERO? VERB \?CND75
|
||||
PUT P-ITBL,P-VERB,ACT?TELL
|
||||
PUT P-ITBL,P-VERBN,0
|
||||
SET 'WORD,W?QUOTE
|
||||
?CND75: EQUAL? WORD,W?THEN,W?. /?THN87
|
||||
EQUAL? WORD,W?QUOTE \?ELS86
|
||||
?THN87: EQUAL? WORD,W?QUOTE \?CND89
|
||||
SET 'WRD,W?QUOTE
|
||||
?CND75: EQUAL? WRD,W?THEN,W?PERIOD /?THN87
|
||||
EQUAL? WRD,W?QUOTE \?ELS86
|
||||
?THN87: EQUAL? WRD,W?QUOTE \?CND89
|
||||
ZERO? QUOTE-FLAG /?ELS94
|
||||
SET 'QUOTE-FLAG,0
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
JUMP ?CND89
|
||||
?ELS94: SET 'QUOTE-FLAG,1
|
||||
?ELS94: SET 'QUOTE-FLAG,TRUE-VALUE
|
||||
?CND89: ZERO? P-LEN /?THN98
|
||||
ADD PTR,P-LEXELEN >P-CONT
|
||||
?THN98: PUTB P-LEXV,P-LEXWORDS,P-LEN
|
||||
JUMP ?REP65
|
||||
?ELS86: CALL WT?,WORD,PS?DIRECTION,P1?DIRECTION >VAL
|
||||
?ELS86: CALL WT?,WRD,PS?DIRECTION,P1?DIRECTION >VAL
|
||||
ZERO? VAL /?ELS101
|
||||
EQUAL? LEN,1 /?THN104
|
||||
EQUAL? LEN,2 \?ELS107
|
||||
@@ -130,7 +130,7 @@
|
||||
GET P-LEXV,STACK >NW
|
||||
EQUAL? NW,W?THEN,W?QUOTE \?ELS109
|
||||
GRTR? LEN,2 /?THN104
|
||||
?ELS109: EQUAL? NW,W?. \?ELS111
|
||||
?ELS109: EQUAL? NW,W?PERIOD \?ELS111
|
||||
GRTR? LEN,1 /?THN104
|
||||
?ELS111: ZERO? QUOTE-FLAG /?ELS113
|
||||
EQUAL? LEN,2 \?ELS113
|
||||
@@ -142,18 +142,18 @@
|
||||
ADD PTR,P-LEXELEN
|
||||
PUT P-LEXV,STACK,W?THEN
|
||||
?CND116: GRTR? LEN,2 /?CND66
|
||||
SET 'QUOTE-FLAG,0
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
JUMP ?REP65
|
||||
?ELS101: CALL WT?,WORD,PS?VERB,P1?VERB >VAL
|
||||
?ELS101: CALL WT?,WRD,PS?VERB,P1?VERB >VAL
|
||||
ZERO? VAL /?ELS123
|
||||
ZERO? VERB /?THN126
|
||||
EQUAL? VERB,ACT?NAME \?ELS123
|
||||
?THN126: EQUAL? VERB,ACT?NAME \?CND128
|
||||
SET 'P-WHAT-IGNORED,1
|
||||
SET 'P-WHAT-IGNORED,TRUE-VALUE
|
||||
?CND128: SET 'VERB,VAL
|
||||
PUT P-ITBL,P-VERB,VAL
|
||||
PUT P-ITBL,P-VERBN,P-VTBL
|
||||
PUT P-VTBL,0,WORD
|
||||
PUT P-VTBL,0,WRD
|
||||
MUL PTR,2
|
||||
ADD STACK,2 >NUM
|
||||
GETB P-LEXV,NUM
|
||||
@@ -162,70 +162,80 @@
|
||||
GETB P-LEXV,STACK
|
||||
PUTB P-VTBL,3,STACK
|
||||
JUMP ?CND66
|
||||
?ELS123: CALL WT?,WORD,PS?PREPOSITION,0 >VAL
|
||||
?ELS123: CALL WT?,WRD,PS?PREPOSITION,0 >VAL
|
||||
ZERO? VAL \?THN133
|
||||
EQUAL? WORD,W?ONE,W?A /?THN137
|
||||
CALL WT?,WORD,PS?ADJECTIVE
|
||||
EQUAL? WRD,W?ONE,W?A /?THN137
|
||||
CALL WT?,WRD,PS?ADJECTIVE
|
||||
ZERO? STACK \?THN137
|
||||
CALL WT?,WORD,PS?OBJECT
|
||||
CALL WT?,WRD,PS?OBJECT
|
||||
ZERO? STACK /?ELS132
|
||||
?THN137: SET 'VAL,0
|
||||
?THN133: GRTR? P-LEN,0 \?ELS141
|
||||
?THN137: SET 'VAL,0 \?ELS132
|
||||
?THN133: GRTR? P-LEN,1 \?ELS141
|
||||
ADD PTR,P-LEXELEN
|
||||
GET P-LEXV,STACK
|
||||
EQUAL? STACK,W?OF \?ELS141
|
||||
EQUAL? VERB,ACT?MAKE /?ELS141
|
||||
ZERO? VAL \?ELS141
|
||||
EQUAL? WORD,W?ONE,W?A /?ELS141
|
||||
EQUAL? WRD,W?ONE,W?A /?ELS141
|
||||
SET 'OF-FLAG,TRUE-VALUE
|
||||
JUMP ?CND66
|
||||
?ELS141: ZERO? VAL /?ELS145
|
||||
ZERO? P-LEN /?THN148
|
||||
ADD PTR,2
|
||||
GET P-LEXV,STACK
|
||||
EQUAL? STACK,W?THEN,W?. \?ELS145
|
||||
EQUAL? STACK,W?THEN,W?PERIOD \?ELS145
|
||||
?THN148: LESS? P-NCN,2 \?CND66
|
||||
PUT P-ITBL,P-PREP1,VAL
|
||||
PUT P-ITBL,P-PREP1N,WORD
|
||||
PUT P-ITBL,P-PREP1N,WRD
|
||||
JUMP ?CND66
|
||||
?ELS145: EQUAL? P-NCN,2 \?ELS154
|
||||
PRINTI "(I found too many nouns in that sentence!)"
|
||||
CRLF
|
||||
RFALSE
|
||||
?ELS154: INC 'P-NCN
|
||||
CALL CLAUSE,PTR,VAL,WORD >PTR
|
||||
CALL CLAUSE,PTR,VAL,WRD >PTR
|
||||
ZERO? PTR /FALSE
|
||||
LESS? PTR,0 \?CND66
|
||||
SET 'QUOTE-FLAG,0
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
JUMP ?REP65
|
||||
?ELS132: EQUAL? WORD,W?CLOSELY \?ELS165
|
||||
?ELS132: EQUAL? WRD,W?CLOSELY \?ELS165
|
||||
SET 'P-ADVERB,W?CAREFULLY
|
||||
JUMP ?CND66
|
||||
?ELS165: EQUAL? WORD,W?CAREFULLY,W?QUIETLY,W?PRIVATELY /?THN168
|
||||
EQUAL? WORD,W?SLOWLY,W?QUICKLY,W?BRIEFLY \?ELS167
|
||||
?THN168: SET 'P-ADVERB,WORD
|
||||
?ELS165: EQUAL? WRD,W?CAREFULLY,W?QUIETLY,W?PRIVATELY /?THN168
|
||||
EQUAL? WRD,W?SLOWLY,W?QUICKLY,W?BRIEFLY \?ELS167
|
||||
?THN168: SET 'P-ADVERB,WRD
|
||||
JUMP ?CND66
|
||||
?ELS167: CALL WT?,WORD,PS?BUZZ-WORD
|
||||
ZERO? STACK /?ELS171
|
||||
?ELS167: EQUAL? WRD,W?OF \?ELS171
|
||||
ZERO? OF-FLAG /?THN175
|
||||
ADD PTR,P-LEXELEN
|
||||
GET P-LEXV,STACK
|
||||
EQUAL? STACK,W?PERIOD,W?THEN \?ELS174
|
||||
?THN175: CALL CANT-USE,PTR
|
||||
RFALSE
|
||||
?ELS174: SET 'OF-FLAG,FALSE-VALUE
|
||||
JUMP ?CND66
|
||||
?ELS171: CALL CANT-USE,PTR
|
||||
?ELS171: CALL WT?,WRD,PS?BUZZ-WORD
|
||||
ZERO? STACK /?ELS180
|
||||
JUMP ?CND66
|
||||
?ELS180: CALL CANT-USE,PTR
|
||||
RFALSE
|
||||
?ELS72: CALL UNKNOWN-WORD,PTR
|
||||
RFALSE
|
||||
?CND66: SET 'LW,WORD
|
||||
?CND66: SET 'LW,WRD
|
||||
ADD PTR,P-LEXELEN >PTR
|
||||
JUMP ?PRG64
|
||||
?REP65: ZERO? DIR /?CND176
|
||||
?REP65: ZERO? DIR /?CND185
|
||||
SET 'PRSA,V?WALK
|
||||
SET 'PRSO,DIR
|
||||
SET 'P-WALK-DIR,DIR
|
||||
RTRUE
|
||||
?CND176: SET 'P-WALK-DIR,0
|
||||
ZERO? P-OFLAG /?CND180
|
||||
RETURN TRUE-VALUE
|
||||
?CND185: SET 'P-WALK-DIR,FALSE-VALUE
|
||||
ZERO? P-OFLAG /?CND189
|
||||
CALL ORPHAN-MERGE
|
||||
?CND180: GET P-ITBL,P-VERB
|
||||
ZERO? STACK \?CND184
|
||||
?CND189: GET P-ITBL,P-VERB
|
||||
ZERO? STACK \?CND193
|
||||
PUT P-ITBL,P-VERB,ACT?$CALL
|
||||
?CND184: CALL SYNTAX-CHECK
|
||||
?CND193: CALL SYNTAX-CHECK
|
||||
ZERO? STACK /FALSE
|
||||
CALL SNARF-OBJECTS
|
||||
ZERO? STACK /FALSE
|
||||
@@ -247,14 +257,14 @@
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT CLAUSE,PTR,VAL,WORD,OFF,NUM,ANDFLG=0,FIRST??=1,NW,LW=0,?TMP1
|
||||
.FUNCT CLAUSE,PTR,VAL,WRD,OFF,NUM,ANDFLG=0,FIRST??=1,NW,LW=0,?TMP1
|
||||
SUB P-NCN,1
|
||||
MUL STACK,2 >OFF
|
||||
ZERO? VAL /?ELS3
|
||||
ADD P-PREP1,OFF >NUM
|
||||
PUT P-ITBL,NUM,VAL
|
||||
ADD NUM,1
|
||||
PUT P-ITBL,STACK,WORD
|
||||
PUT P-ITBL,STACK,WRD
|
||||
ADD PTR,P-LEXELEN >PTR
|
||||
JUMP ?CND1
|
||||
?ELS3: INC 'P-LEN
|
||||
@@ -277,34 +287,34 @@
|
||||
ADD P-LEXV,STACK
|
||||
PUT P-ITBL,?TMP1,STACK
|
||||
RETURN -1
|
||||
?CND14: GET P-LEXV,PTR >WORD
|
||||
CALL BUZZER-WORD?,WORD
|
||||
?CND14: GET P-LEXV,PTR >WRD
|
||||
CALL BUZZER-WORD?,WRD
|
||||
ZERO? STACK \FALSE
|
||||
ZERO? WORD \?THN22
|
||||
CALL NUMBER?,PTR >WORD
|
||||
ZERO? WORD \?THN22
|
||||
CALL NAME?,PTR >WORD
|
||||
ZERO? WORD /?ELS21
|
||||
ZERO? WRD \?THN22
|
||||
CALL NUMBER?,PTR >WRD
|
||||
ZERO? WRD \?THN22
|
||||
CALL NAME?,PTR >WRD
|
||||
ZERO? WRD /?ELS21
|
||||
?THN22: ZERO? P-LEN \?ELS26
|
||||
SET 'NW,0
|
||||
JUMP ?CND24
|
||||
?ELS26: ADD PTR,P-LEXELEN
|
||||
GET P-LEXV,STACK >NW
|
||||
?CND24: EQUAL? WORD,W?OF \?CND29
|
||||
?CND24: EQUAL? WRD,W?OF \?CND29
|
||||
GET P-ITBL,P-VERB
|
||||
EQUAL? STACK,ACT?MAKE \?CND29
|
||||
PUT P-LEXV,PTR,W?WITH
|
||||
SET 'WORD,W?WITH
|
||||
?CND29: EQUAL? WORD,W?AND,W?COMMA \?ELS36
|
||||
SET 'ANDFLG,1
|
||||
SET 'WRD,W?WITH
|
||||
?CND29: EQUAL? WRD,W?AND,W?COMMA \?ELS36
|
||||
SET 'ANDFLG,TRUE-VALUE
|
||||
JUMP ?CND17
|
||||
?ELS36: EQUAL? WORD,W?ONE \?ELS38
|
||||
?ELS36: EQUAL? WRD,W?ONE \?ELS38
|
||||
EQUAL? NW,W?OF \?CND17
|
||||
DEC 'P-LEN
|
||||
ADD PTR,P-LEXELEN >PTR
|
||||
JUMP ?CND17
|
||||
?ELS38: EQUAL? WORD,W?THEN,W?. /?THN44
|
||||
CALL WT?,WORD,PS?PREPOSITION
|
||||
?ELS38: EQUAL? WRD,W?THEN,W?PERIOD /?THN44
|
||||
CALL WT?,WRD,PS?PREPOSITION
|
||||
ZERO? STACK /?ELS43
|
||||
ZERO? FIRST?? \?ELS43
|
||||
?THN44: INC 'P-LEN
|
||||
@@ -317,18 +327,18 @@
|
||||
?ELS43: ZERO? ANDFLG /?ELS49
|
||||
GET P-ITBL,P-VERBN
|
||||
ZERO? STACK /?THN52
|
||||
CALL WT?,WORD,PS?DIRECTION
|
||||
CALL WT?,WRD,PS?DIRECTION
|
||||
ZERO? STACK \?THN52
|
||||
CALL WT?,WORD,PS?VERB
|
||||
CALL WT?,WRD,PS?VERB
|
||||
ZERO? STACK /?ELS49
|
||||
?THN52: SUB PTR,4 >PTR
|
||||
ADD PTR,2
|
||||
PUT P-LEXV,STACK,W?THEN
|
||||
ADD P-LEN,2 >P-LEN
|
||||
JUMP ?CND17
|
||||
?ELS49: CALL WT?,WORD,PS?OBJECT
|
||||
?ELS49: CALL WT?,WRD,PS?OBJECT
|
||||
ZERO? STACK /?ELS55
|
||||
CALL WT?,WORD,PS?ADJECTIVE,P1?ADJECTIVE
|
||||
CALL WT?,WRD,PS?ADJECTIVE,P1?ADJECTIVE
|
||||
ZERO? STACK /?ELS58
|
||||
ZERO? NW /?ELS58
|
||||
CALL WT?,NW,PS?OBJECT
|
||||
@@ -342,22 +352,22 @@
|
||||
ADD P-LEXV,STACK
|
||||
PUT P-ITBL,?TMP1,STACK
|
||||
RETURN PTR
|
||||
?ELS62: SET 'ANDFLG,0
|
||||
?ELS62: SET 'ANDFLG,FALSE-VALUE
|
||||
JUMP ?CND17
|
||||
?ELS55: CALL WT?,WORD,PS?ADJECTIVE
|
||||
?ELS55: CALL WT?,WRD,PS?ADJECTIVE
|
||||
ZERO? STACK \?CND17
|
||||
CALL WT?,WORD,PS?BUZZ-WORD
|
||||
CALL WT?,WRD,PS?BUZZ-WORD
|
||||
ZERO? STACK /?ELS68
|
||||
JUMP ?CND17
|
||||
?ELS68: CALL WT?,WORD,PS?PREPOSITION
|
||||
?ELS68: CALL WT?,WRD,PS?PREPOSITION
|
||||
ZERO? STACK /?ELS72
|
||||
JUMP ?CND17
|
||||
?ELS72: CALL CANT-USE,PTR
|
||||
RFALSE
|
||||
?ELS21: CALL UNKNOWN-WORD,PTR
|
||||
RFALSE
|
||||
?CND17: SET 'LW,WORD
|
||||
SET 'FIRST??,0
|
||||
?CND17: SET 'LW,WRD
|
||||
SET 'FIRST??,FALSE-VALUE
|
||||
ADD PTR,P-LEXELEN >PTR
|
||||
JUMP ?PRG12
|
||||
|
||||
@@ -401,7 +411,7 @@
|
||||
|
||||
|
||||
.FUNCT ORPHAN-MERGE,CNT=-1,TEMP,VERB,BEG,END,ADJ=0,WRD,?TMP1
|
||||
SET 'P-OFLAG,0
|
||||
SET 'P-OFLAG,FALSE-VALUE
|
||||
GET P-ITBL,P-VERB >VERB
|
||||
ZERO? VERB /?ELS3
|
||||
GET P-OTBL,P-VERB
|
||||
@@ -413,67 +423,75 @@
|
||||
GET P-OTBL,P-PREP1
|
||||
EQUAL? TEMP,STACK /?THN13
|
||||
ZERO? TEMP \FALSE
|
||||
?THN13: GET P-ITBL,P-NC1
|
||||
?THN13: ZERO? ADJ /?ELS17
|
||||
ADD P-LEXV,2
|
||||
PUT P-OTBL,P-NC1,STACK
|
||||
ADD P-LEXV,6
|
||||
PUT P-OTBL,P-NC1L,STACK
|
||||
JUMP ?CND1
|
||||
?ELS17: GET P-ITBL,P-NC1
|
||||
PUT P-OTBL,P-NC1,STACK
|
||||
GET P-ITBL,P-NC1L
|
||||
PUT P-OTBL,P-NC1L,STACK
|
||||
JUMP ?CND1
|
||||
?ELS9: GET P-OTBL,P-NC2
|
||||
EQUAL? STACK,1 \?ELS18
|
||||
EQUAL? STACK,1 \?ELS24
|
||||
GET P-ITBL,P-PREP1 >TEMP
|
||||
GET P-OTBL,P-PREP2
|
||||
EQUAL? TEMP,STACK /?THN22
|
||||
EQUAL? TEMP,STACK /?THN28
|
||||
ZERO? TEMP \FALSE
|
||||
?THN22: GET P-ITBL,P-NC1
|
||||
?THN28: GET P-ITBL,P-NC1
|
||||
PUT P-OTBL,P-NC2,STACK
|
||||
GET P-ITBL,P-NC1L
|
||||
PUT P-OTBL,P-NC2L,STACK
|
||||
SET 'P-NCN,2
|
||||
JUMP ?CND1
|
||||
?ELS18: ZERO? P-ACLAUSE /?CND1
|
||||
EQUAL? P-NCN,1 /?ELS31
|
||||
SET 'P-ACLAUSE,0
|
||||
?ELS24: ZERO? P-ACLAUSE /?CND1
|
||||
EQUAL? P-NCN,1 /?ELS37
|
||||
SET 'P-ACLAUSE,FALSE-VALUE
|
||||
RFALSE
|
||||
?ELS31: GET P-ITBL,P-NC1 >BEG
|
||||
?ELS37: GET P-ITBL,P-NC1 >BEG
|
||||
GET P-ITBL,P-NC1L >END
|
||||
?PRG34: EQUAL? BEG,END \?ELS38
|
||||
ZERO? ADJ /?ELS41
|
||||
?PRG40: EQUAL? BEG,END \?ELS44
|
||||
ZERO? ADJ /?ELS47
|
||||
CALL ACLAUSE-WIN,ADJ
|
||||
JUMP ?CND29
|
||||
?ELS41: SET 'P-ACLAUSE,0
|
||||
JUMP ?CND35
|
||||
?ELS47: SET 'P-ACLAUSE,FALSE-VALUE
|
||||
RFALSE
|
||||
?ELS38: ZERO? ADJ \?ELS46
|
||||
?ELS44: ZERO? ADJ \?ELS52
|
||||
GET BEG,0 >WRD
|
||||
GETB WRD,P-PSOFF
|
||||
BTST STACK,PS?ADJECTIVE \?ELS46
|
||||
BTST STACK,PS?ADJECTIVE \?ELS52
|
||||
SET 'ADJ,WRD
|
||||
JUMP ?CND36
|
||||
?ELS46: GETB WRD,P-PSOFF
|
||||
BTST STACK,PS?OBJECT /?THN51
|
||||
EQUAL? WRD,W?ONE \?CND36
|
||||
?THN51: EQUAL? WRD,P-ANAM,W?ONE \FALSE
|
||||
JUMP ?CND42
|
||||
?ELS52: GETB WRD,P-PSOFF
|
||||
BTST STACK,PS?OBJECT /?THN57
|
||||
EQUAL? WRD,W?ONE \?CND42
|
||||
?THN57: EQUAL? WRD,P-ANAM,W?ONE \FALSE
|
||||
CALL ACLAUSE-WIN,ADJ
|
||||
JUMP ?CND29
|
||||
?CND36: ADD BEG,P-WORDLEN >BEG
|
||||
JUMP ?PRG34
|
||||
?CND29:
|
||||
JUMP ?CND35
|
||||
?CND42: ADD BEG,P-WORDLEN >BEG
|
||||
JUMP ?PRG40
|
||||
?CND35:
|
||||
?CND1:
|
||||
?PRG58: IGRTR? 'CNT,P-ITBLLEN \?ELS62
|
||||
SET 'P-MERGED,1
|
||||
?PRG64: IGRTR? 'CNT,P-ITBLLEN \?ELS68
|
||||
SET 'P-MERGED,TRUE-VALUE
|
||||
RTRUE
|
||||
?ELS62: GET P-OTBL,CNT
|
||||
?ELS68: GET P-OTBL,CNT
|
||||
PUT P-ITBL,CNT,STACK
|
||||
JUMP ?PRG58
|
||||
JUMP ?PRG64
|
||||
|
||||
|
||||
.FUNCT ACLAUSE-WIN,ADJ
|
||||
GET P-OTBL,P-VERB
|
||||
PUT P-ITBL,P-VERB,STACK
|
||||
SET 'P-CCSRC,P-OTBL
|
||||
ADD P-ACLAUSE,1
|
||||
CALL CLAUSE-COPY,P-ACLAUSE,STACK,ADJ
|
||||
GET P-OTBL,P-NC2
|
||||
ZERO? STACK /?ELS2
|
||||
SET 'P-NCN,2
|
||||
?ELS2: SET 'P-ACLAUSE,0
|
||||
?ELS2: SET 'P-ACLAUSE,FALSE-VALUE
|
||||
RTRUE
|
||||
|
||||
|
||||
@@ -486,20 +504,16 @@
|
||||
|
||||
|
||||
.FUNCT UNKNOWN-WORD,PTR,BUF,?TMP1
|
||||
GET UNKNOWN-MSGS,0
|
||||
PRINT STACK
|
||||
PRINTI "(I don't know the word """
|
||||
MUL PTR,2 >BUF
|
||||
ADD P-LEXV,BUF
|
||||
GETB STACK,2 >?TMP1
|
||||
ADD P-LEXV,BUF
|
||||
GETB STACK,3
|
||||
CALL WORD-PRINT,?TMP1,STACK
|
||||
SET 'QUOTE-FLAG,0
|
||||
SET 'P-OFLAG,0
|
||||
GET UNKNOWN-MSGS,1
|
||||
PRINT STACK
|
||||
CRLF
|
||||
RTRUE
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
SET 'P-OFLAG,FALSE-VALUE
|
||||
PRINTR """.)"
|
||||
|
||||
|
||||
.FUNCT CANT-USE,PTR,BUF,?TMP1
|
||||
@@ -512,9 +526,9 @@
|
||||
CALL WORD-PRINT,?TMP1,STACK
|
||||
PRINTI """ when you use it that way.)"
|
||||
CRLF
|
||||
SET 'QUOTE-FLAG,0
|
||||
SET 'P-OFLAG,0
|
||||
RTRUE
|
||||
SET 'QUOTE-FLAG,FALSE-VALUE
|
||||
SET 'P-OFLAG,FALSE-VALUE
|
||||
RETURN P-OFLAG
|
||||
|
||||
|
||||
.FUNCT SYNTAX-CHECK,SYN,LEN,NUM,OBJ,DRIVE1=0,DRIVE2=0,PREP,VERB,?TMP2,?TMP1
|
||||
@@ -586,18 +600,18 @@
|
||||
?ELS50: EQUAL? WINNER,PLAYER \?ELS57
|
||||
CALL ORPHAN,DRIVE1,DRIVE2
|
||||
PRINTI "(Wh"
|
||||
EQUAL? VERB,ACT?WALK,ACT?CRAWL \?ELS64
|
||||
PUSH STR?131
|
||||
EQUAL? VERB,ACT?WALK \?ELS64
|
||||
PUSH STR?122
|
||||
JUMP ?CND60
|
||||
?ELS64: PUSH STR?132
|
||||
?ELS64: PUSH STR?123
|
||||
?CND60: PRINT STACK
|
||||
PRINTI " do you want to "
|
||||
JUMP ?CND55
|
||||
?ELS57: PRINTI "(Your command was not complete. Next time, type wh"
|
||||
EQUAL? VERB,ACT?WALK \?ELS75
|
||||
PUSH STR?131
|
||||
PUSH STR?122
|
||||
JUMP ?CND71
|
||||
?ELS75: PUSH STR?132
|
||||
?ELS75: PUSH STR?123
|
||||
?CND71: PRINT STACK
|
||||
PRINTI " you want "
|
||||
PRINTD WINNER
|
||||
@@ -611,11 +625,11 @@
|
||||
?ELS86: GETB DRIVE2,P-SPREP2
|
||||
?CND82: CALL PREP-PRINT,STACK
|
||||
EQUAL? WINNER,PLAYER \?ELS92
|
||||
SET 'P-OFLAG,1
|
||||
SET 'P-OFLAG,TRUE-VALUE
|
||||
PRINTI "?)"
|
||||
CRLF
|
||||
RFALSE
|
||||
?ELS92: SET 'P-OFLAG,0
|
||||
?ELS92: SET 'P-OFLAG,FALSE-VALUE
|
||||
PRINTI ".)"
|
||||
CRLF
|
||||
RFALSE
|
||||
@@ -672,24 +686,24 @@
|
||||
.FUNCT BUFFER-PRINT,BEG,END,CP,NOSP=0,WRD,FIRST??=1,PN=0,?TMP1
|
||||
?PRG1: EQUAL? BEG,END /TRUE
|
||||
ZERO? NOSP /?ELS10
|
||||
SET 'NOSP,0
|
||||
SET 'NOSP,FALSE-VALUE
|
||||
JUMP ?CND8
|
||||
?ELS10: PRINTI " "
|
||||
?CND8: GET BEG,0 >WRD
|
||||
EQUAL? WRD,W?. \?ELS18
|
||||
SET 'NOSP,1
|
||||
EQUAL? WRD,W?PERIOD \?ELS18
|
||||
SET 'NOSP,TRUE-VALUE
|
||||
JUMP ?CND3
|
||||
?ELS18: EQUAL? WRD,W?DR \?ELS20
|
||||
PRINTI "Dr."
|
||||
SET 'PN,1
|
||||
SET 'PN,TRUE-VALUE
|
||||
JUMP ?CND3
|
||||
?ELS20: EQUAL? WRD,W?HIM,W?HER,W?ME \?ELS24
|
||||
SET 'PN,1
|
||||
SET 'PN,TRUE-VALUE
|
||||
JUMP ?CND3
|
||||
?ELS24: CALL CAPITAL-NOUN?,WRD
|
||||
ZERO? STACK /?ELS26
|
||||
CALL CAPITALIZE,BEG
|
||||
SET 'PN,1
|
||||
SET 'PN,TRUE-VALUE
|
||||
JUMP ?CND3
|
||||
?ELS26: ZERO? FIRST?? /?CND29
|
||||
ZERO? PN \?CND29
|
||||
@@ -717,7 +731,7 @@
|
||||
?ELS50: GETB BEG,2 >?TMP1
|
||||
GETB BEG,3
|
||||
CALL WORD-PRINT,?TMP1,STACK
|
||||
?CND36: SET 'FIRST??,0
|
||||
?CND36: SET 'FIRST??,FALSE-VALUE
|
||||
?CND3: ADD BEG,P-WORDLEN >BEG
|
||||
JUMP ?PRG1
|
||||
|
||||
@@ -818,14 +832,14 @@
|
||||
?CND1: SET 'P-GWIMBIT,GBIT
|
||||
SET 'P-SLOCBITS,LBIT
|
||||
PUT P-MERGE,P-MATCHLEN,0
|
||||
CALL GET-OBJECT,P-MERGE,0
|
||||
CALL GET-OBJECT,P-MERGE,FALSE-VALUE
|
||||
ZERO? STACK /?ELS8
|
||||
SET 'P-GWIMBIT,0
|
||||
GET P-MERGE,P-MATCHLEN
|
||||
EQUAL? STACK,1 \FALSE
|
||||
GET P-MERGE,1 >OBJ
|
||||
PRINTI "("
|
||||
CALL PREP-PRINT,PREP,0
|
||||
CALL PREP-PRINT,PREP,FALSE-VALUE
|
||||
ZERO? STACK /?CND16
|
||||
CALL THE?,OBJ
|
||||
PRINTI " "
|
||||
@@ -883,13 +897,14 @@
|
||||
RETURN NTBL
|
||||
|
||||
|
||||
.FUNCT SNARFEM,PTR,EPTR,TBL,AND=0,BUT=0,LEN,WV,WORD,NW
|
||||
.FUNCT SNARFEM,PTR,EPTR,TBL,BUT=0,LEN,WV,WRD,NW
|
||||
SET 'P-AND,FALSE-VALUE
|
||||
SET 'P-GETFLAGS,0
|
||||
SET 'P-CSPTR,PTR
|
||||
SET 'P-CEPTR,EPTR
|
||||
PUT P-BUTS,P-MATCHLEN,0
|
||||
PUT TBL,P-MATCHLEN,0
|
||||
GET PTR,0 >WORD
|
||||
GET PTR,0 >WRD
|
||||
?PRG1: EQUAL? PTR,EPTR \?ELS5
|
||||
ZERO? BUT /?ORP9
|
||||
PUSH BUT
|
||||
@@ -898,9 +913,9 @@
|
||||
?THN6: CALL GET-OBJECT,STACK
|
||||
RETURN STACK
|
||||
?ELS5: GET PTR,P-LEXELEN >NW
|
||||
CALL BUZZER-WORD?,WORD
|
||||
CALL BUZZER-WORD?,WRD
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? WORD,W?A,W?ONE \?ELS16
|
||||
EQUAL? WRD,W?A,W?ONE \?ELS16
|
||||
ZERO? P-ADJ \?ELS19
|
||||
SET 'P-GETFLAGS,P-ONE
|
||||
EQUAL? NW,W?OF \?CND3
|
||||
@@ -915,8 +930,9 @@
|
||||
ZERO? STACK /FALSE
|
||||
ZERO? NW /TRUE
|
||||
JUMP ?CND3
|
||||
?ELS16: EQUAL? WORD,W?AND,W?COMMA \?ELS34
|
||||
?ELS16: EQUAL? WRD,W?AND,W?COMMA \?ELS34
|
||||
EQUAL? NW,W?AND,W?COMMA /?ELS34
|
||||
SET 'P-AND,TRUE-VALUE
|
||||
ZERO? BUT /?ORP42
|
||||
PUSH BUT
|
||||
JUMP ?THN39
|
||||
@@ -924,29 +940,29 @@
|
||||
?THN39: CALL GET-OBJECT,STACK
|
||||
ZERO? STACK \?CND12
|
||||
RFALSE
|
||||
?ELS34: CALL WT?,WORD,PS?BUZZ-WORD
|
||||
?ELS34: CALL WT?,WRD,PS?BUZZ-WORD
|
||||
ZERO? STACK /?ELS44
|
||||
JUMP ?CND3
|
||||
?ELS44: EQUAL? WORD,W?AND,W?COMMA \?ELS46
|
||||
?ELS44: EQUAL? WRD,W?AND,W?COMMA \?ELS46
|
||||
JUMP ?CND3
|
||||
?ELS46: EQUAL? WORD,W?OF \?ELS48
|
||||
?ELS46: EQUAL? WRD,W?OF \?ELS48
|
||||
ZERO? P-GETFLAGS \?CND12
|
||||
SET 'P-GETFLAGS,P-INHIBIT
|
||||
JUMP ?CND12
|
||||
?ELS48: CALL WT?,WORD,PS?ADJECTIVE,P1?ADJECTIVE >WV
|
||||
?ELS48: CALL WT?,WRD,PS?ADJECTIVE,P1?ADJECTIVE >WV
|
||||
ZERO? WV /?ELS53
|
||||
ZERO? P-ADJ \?ELS53
|
||||
SET 'P-ADJ,WV
|
||||
SET 'P-ADJN,WORD
|
||||
SET 'P-ADJN,WRD
|
||||
JUMP ?CND3
|
||||
?ELS53: CALL WT?,WORD,PS?OBJECT,P1?OBJECT
|
||||
?ELS53: CALL WT?,WRD,PS?OBJECT,P1?OBJECT
|
||||
ZERO? STACK /?CND3
|
||||
SET 'P-NAM,WORD
|
||||
SET 'P-ONEOBJ,WORD
|
||||
SET 'P-NAM,WRD
|
||||
SET 'P-ONEOBJ,WRD
|
||||
?CND12:
|
||||
?CND3: EQUAL? PTR,EPTR /?PRG1
|
||||
ADD PTR,P-WORDLEN >PTR
|
||||
SET 'WORD,NW
|
||||
SET 'WRD,NW
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
@@ -960,11 +976,11 @@
|
||||
CALL WT?,P-ADJN,PS?OBJECT,P1?OBJECT
|
||||
ZERO? STACK /?ELS11
|
||||
SET 'P-NAM,P-ADJN
|
||||
SET 'P-ADJ,0
|
||||
SET 'P-ADJ,FALSE-VALUE
|
||||
JUMP ?CND4
|
||||
?ELS11: CALL WT?,P-ADJN,PS?DIRECTION,P1?DIRECTION >BTS
|
||||
ZERO? BTS /?CND4
|
||||
SET 'P-ADJ,0
|
||||
SET 'P-ADJ,FALSE-VALUE
|
||||
PUT TBL,P-MATCHLEN,1
|
||||
PUT TBL,1,INTDIR
|
||||
SET 'P-DIRECTION,BTS
|
||||
@@ -1027,8 +1043,8 @@
|
||||
EQUAL? OBJ,NOT-HERE-OBJECT /FALSE
|
||||
PUT TBL,1,OBJ
|
||||
PUT TBL,P-MATCHLEN,1
|
||||
SET 'P-NAM,0
|
||||
SET 'P-ADJ,0
|
||||
SET 'P-NAM,FALSE-VALUE
|
||||
SET 'P-ADJ,FALSE-VALUE
|
||||
RTRUE
|
||||
?ELS68: ZERO? VRB /?ELS75
|
||||
ZERO? P-NAM /?ELS75
|
||||
@@ -1040,33 +1056,34 @@
|
||||
?CND78: SET 'P-ACLAUSE,STACK
|
||||
SET 'P-AADJ,P-ADJ
|
||||
SET 'P-ANAM,P-NAM
|
||||
CALL ORPHAN,0,0
|
||||
SET 'P-OFLAG,1
|
||||
CALL ORPHAN,FALSE-VALUE,FALSE-VALUE
|
||||
SET 'P-OFLAG,TRUE-VALUE
|
||||
JUMP ?CND66
|
||||
?ELS75: ZERO? VRB /?CND66
|
||||
CALL MISSING-NOUN,ADJ
|
||||
?CND66: SET 'P-NAM,0
|
||||
SET 'P-ADJ,0
|
||||
?CND66: SET 'P-NAM,FALSE-VALUE
|
||||
SET 'P-ADJ,FALSE-VALUE
|
||||
RFALSE
|
||||
?ELS53: ZERO? LEN \?ELS89
|
||||
ZERO? GCHECK /?ELS89
|
||||
ZERO? VRB /?CND92
|
||||
SET 'P-SLOCBITS,XBITS
|
||||
ZERO? LIT /?ELS98
|
||||
CALL OBJ-FOUND,NOT-HERE-OBJECT,TBL
|
||||
SET 'P-XNAM,P-NAM
|
||||
SET 'P-XADJ,P-ADJ
|
||||
SET 'P-XADJN,P-ADJN
|
||||
SET 'P-NAM,0
|
||||
SET 'P-ADJ,0
|
||||
SET 'P-ADJN,0
|
||||
SET 'P-NAM,FALSE-VALUE
|
||||
SET 'P-ADJ,FALSE-VALUE
|
||||
SET 'P-ADJN,FALSE-VALUE
|
||||
RTRUE
|
||||
?ELS98: PRINTI "(It's too dark to see!)"
|
||||
CRLF
|
||||
?CND92: SET 'P-NAM,0
|
||||
SET 'P-ADJ,0
|
||||
?CND92: SET 'P-NAM,FALSE-VALUE
|
||||
SET 'P-ADJ,FALSE-VALUE
|
||||
RFALSE
|
||||
?ELS89: ZERO? LEN \?CND40
|
||||
SET 'GCHECK,1
|
||||
SET 'GCHECK,TRUE-VALUE
|
||||
JUMP ?PRG28
|
||||
?CND40: ZERO? P-ADJ /?CND106
|
||||
ZERO? P-NAM \?CND106
|
||||
@@ -1077,8 +1094,8 @@
|
||||
PRINTI ".)"
|
||||
CRLF
|
||||
?CND106: SET 'P-SLOCBITS,XBITS
|
||||
SET 'P-NAM,0
|
||||
SET 'P-ADJ,0
|
||||
SET 'P-NAM,FALSE-VALUE
|
||||
SET 'P-ADJ,FALSE-VALUE
|
||||
RTRUE
|
||||
|
||||
|
||||
@@ -1121,14 +1138,15 @@
|
||||
SET 'RLEN,LEN
|
||||
PRINTI "(Which"
|
||||
ZERO? P-OFLAG \?THN6
|
||||
ZERO? P-MERGED /?ELS5
|
||||
ZERO? P-MERGED \?THN6
|
||||
ZERO? P-AND /?ELS5
|
||||
?THN6: PRINTI " "
|
||||
PRINTB P-NAM
|
||||
JUMP ?CND3
|
||||
?ELS5: EQUAL? TBL,P-PRSO \?ELS11
|
||||
CALL CLAUSE-PRINT,P-NC1,P-NC1L,0
|
||||
CALL CLAUSE-PRINT,P-NC1,P-NC1L,FALSE-VALUE
|
||||
JUMP ?CND3
|
||||
?ELS11: CALL CLAUSE-PRINT,P-NC2,P-NC2L,0
|
||||
?ELS11: CALL CLAUSE-PRINT,P-NC2,P-NC2L,FALSE-VALUE
|
||||
?CND3: PRINTI " do you mean,"
|
||||
?PRG16: INC 'TLEN
|
||||
GET TBL,TLEN >OBJ
|
||||
@@ -1165,6 +1183,7 @@
|
||||
?PRG15: MUL CNT,2
|
||||
GET RMG,STACK
|
||||
EQUAL? P-NAM,STACK \?ELS19
|
||||
SET 'LAST-PSEUDO-LOC,HERE
|
||||
MUL CNT,2
|
||||
ADD STACK,1
|
||||
GET RMG,STACK
|
||||
@@ -1289,13 +1308,13 @@
|
||||
?CND15: IN? OBJ,WINNER /?PRG8
|
||||
SET 'PRSO,OBJ
|
||||
FSET? OBJ,TRYTAKEBIT \?ELS27
|
||||
SET 'TAKEN,1
|
||||
SET 'TAKEN,TRUE-VALUE
|
||||
JUMP ?CND25
|
||||
?ELS27: CALL ITAKE,0
|
||||
EQUAL? STACK,1 \?ELS29
|
||||
SET 'TAKEN,0
|
||||
?ELS27: CALL ITAKE,FALSE-VALUE
|
||||
EQUAL? STACK,TRUE-VALUE \?ELS29
|
||||
SET 'TAKEN,FALSE-VALUE
|
||||
JUMP ?CND25
|
||||
?ELS29: SET 'TAKEN,1
|
||||
?ELS29: SET 'TAKEN,TRUE-VALUE
|
||||
?CND25: ZERO? TAKEN /?ELS34
|
||||
BTST BITS,SHAVE \?ELS34
|
||||
PRINTI "(You aren't holding"
|
||||
@@ -1379,28 +1398,6 @@
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT LIT?,RM,OHERE,LIT=0
|
||||
SET 'P-GWIMBIT,ONBIT
|
||||
SET 'OHERE,HERE
|
||||
SET 'HERE,RM
|
||||
FSET? RM,ONBIT /?THN4
|
||||
ZERO? ALWAYS-LIT /?ELS3
|
||||
?THN4: SET 'LIT,1
|
||||
JUMP ?CND1
|
||||
?ELS3: PUT P-MERGE,P-MATCHLEN,0
|
||||
SET 'P-TABLE,P-MERGE
|
||||
SET 'P-SLOCBITS,-1
|
||||
EQUAL? OHERE,RM \?CND8
|
||||
CALL DO-SL,WINNER,1,1
|
||||
?CND8: CALL DO-SL,RM,1,1
|
||||
GET P-TABLE,P-MATCHLEN
|
||||
GRTR? STACK,0 \?CND1
|
||||
SET 'LIT,1
|
||||
?CND1: SET 'HERE,OHERE
|
||||
SET 'P-GWIMBIT,0
|
||||
RETURN LIT
|
||||
|
||||
|
||||
.FUNCT PRSO-PRINT,PTR
|
||||
PRINTI " "
|
||||
PRINTD PRSO
|
||||
|
||||
209
parser.zil
209
parser.zil
@@ -16,9 +16,9 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
|
||||
<SETG SIBREAKS ".,\"!?">
|
||||
|
||||
<GLOBAL ALWAYS-LIT <>>
|
||||
"<GLOBAL ALWAYS-LIT <>>"
|
||||
|
||||
<GLOBAL GWIM-DISABLE <>>
|
||||
"<GLOBAL GWIM-DISABLE <>>"
|
||||
|
||||
<GLOBAL PRSA 0>
|
||||
|
||||
@@ -70,11 +70,11 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<GLOBAL P-AADJ <>>
|
||||
"Parser variables and temporaries"
|
||||
|
||||
<CONSTANT P-PHRLEN 3>
|
||||
"<CONSTANT P-PHRLEN 3>
|
||||
|
||||
<CONSTANT P-ORPHLEN 7>
|
||||
|
||||
<CONSTANT P-RTLEN 3>
|
||||
<CONSTANT P-RTLEN 3>"
|
||||
|
||||
"Byte offset to # of entries in LEXV"
|
||||
<CONSTANT P-LEXWORDS 1>
|
||||
@@ -116,7 +116,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
|
||||
<CONSTANT P-PREP2 4>
|
||||
|
||||
<CONSTANT P-PREP2N 5>
|
||||
"<CONSTANT P-PREP2N 5>"
|
||||
|
||||
<CONSTANT P-NC1 6>
|
||||
|
||||
@@ -144,14 +144,14 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<ROUTINE I-PROMPT-2 ()
|
||||
<COND (,P-PROMPT
|
||||
<SETG P-PROMPT <>>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"(Are you tired of seeing \"What next?\" Well, you won't see it
|
||||
any more.)" CR>
|
||||
<COND (<VERB? ;WAIT WAIT-FOR WAIT-UNTIL> <CRLF>)>
|
||||
<DISABLE <INT I-PROMPT-2>>
|
||||
<RFALSE>)>>
|
||||
|
||||
<ROUTINE PARSER ("AUX" (PTR ,P-LEXSTART) WORD (VAL 0) (VERB <>)
|
||||
<ROUTINE PARSER ("AUX" (PTR ,P-LEXSTART) WRD (VAL 0) (VERB <>) (OF-FLAG <>)
|
||||
LEN (DIR <>) (NW 0) (LW 0) NUM SCNT (CNT -1))
|
||||
<REPEAT ()
|
||||
<COND (<G? <SET CNT <+ .CNT 1>> ,P-ITBLLEN> <RETURN>)
|
||||
@@ -211,26 +211,26 @@ any more.)" CR>
|
||||
<COND (<L? <SETG P-LEN <- ,P-LEN 1>> 0>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<RETURN>)
|
||||
(<BUZZER-WORD? <SET WORD <GET ,P-LEXV .PTR>>>
|
||||
(<BUZZER-WORD? <SET WRD <GET ,P-LEXV .PTR>>>
|
||||
<RFALSE>)
|
||||
(<OR .WORD
|
||||
<SET WORD <NUMBER? .PTR>>
|
||||
<SET WORD <NAME? .PTR>>>
|
||||
<COND (<AND <==? .WORD ,W?TO>
|
||||
(<OR .WRD
|
||||
<SET WRD <NUMBER? .PTR>>
|
||||
<SET WRD <NAME? .PTR>>>
|
||||
<COND (<AND <==? .WRD ,W?TO>
|
||||
<EQUAL? .VERB ,ACT?TELL ,ACT?ASK>>
|
||||
<SET VERB ,ACT?TELL>
|
||||
<SET WORD ,W?QUOTE>)
|
||||
(<AND <==? .WORD ,W?THEN>
|
||||
<SET WRD ,W?QUOTE>)
|
||||
(<AND <==? .WRD ,W?THEN>
|
||||
<NOT .VERB>>
|
||||
<PUT ,P-ITBL ,P-VERB ,ACT?TELL>
|
||||
<PUT ,P-ITBL ,P-VERBN 0>
|
||||
<SET WORD ,W?QUOTE>)>
|
||||
<COND ;(<AND <EQUAL? .WORD ,W?.>
|
||||
<SET WRD ,W?QUOTE>)>
|
||||
<COND ;(<AND <EQUAL? .WRD ,W?PERIOD>
|
||||
<EQUAL? .LW ,W?MRS ,W?MR>>
|
||||
<SET LW 0>)
|
||||
(<OR <EQUAL? .WORD ,W?THEN ,W?.>
|
||||
<EQUAL? .WORD ,W?QUOTE>>
|
||||
<COND (<EQUAL? .WORD ,W?QUOTE>
|
||||
(<OR <EQUAL? .WRD ,W?THEN ,W?PERIOD>
|
||||
<EQUAL? .WRD ,W?QUOTE>>
|
||||
<COND (<EQUAL? .WRD ,W?QUOTE>
|
||||
<COND (,QUOTE-FLAG
|
||||
<SETG QUOTE-FLAG <>>)
|
||||
(T <SETG QUOTE-FLAG T>)>)>
|
||||
@@ -239,7 +239,7 @@ any more.)" CR>
|
||||
<PUTB ,P-LEXV ,P-LEXWORDS ,P-LEN>
|
||||
<RETURN>)
|
||||
(<AND <SET VAL
|
||||
<WT? .WORD
|
||||
<WT? .WRD
|
||||
,PS?DIRECTION
|
||||
,P1?DIRECTION>>
|
||||
<OR <==? .LEN 1>
|
||||
@@ -250,7 +250,7 @@ any more.)" CR>
|
||||
,W?THEN
|
||||
,W?QUOTE>
|
||||
<G? .LEN 2>>
|
||||
<AND <EQUAL? .NW ,W?.>
|
||||
<AND <EQUAL? .NW ,W?PERIOD>
|
||||
<G? .LEN 1>>
|
||||
<AND ,QUOTE-FLAG
|
||||
<==? .LEN 2>
|
||||
@@ -265,7 +265,7 @@ any more.)" CR>
|
||||
<COND (<NOT <G? .LEN 2>>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<RETURN>)>)
|
||||
(<AND <SET VAL <WT? .WORD ,PS?VERB ,P1?VERB>>
|
||||
(<AND <SET VAL <WT? .WRD ,PS?VERB ,P1?VERB>>
|
||||
<OR <NOT .VERB>
|
||||
<EQUAL? .VERB ,ACT?NAME>>>
|
||||
<COND (<EQUAL? .VERB ,ACT?NAME>
|
||||
@@ -273,58 +273,68 @@ any more.)" CR>
|
||||
<SET VERB .VAL>
|
||||
<PUT ,P-ITBL ,P-VERB .VAL>
|
||||
<PUT ,P-ITBL ,P-VERBN ,P-VTBL>
|
||||
<PUT ,P-VTBL 0 .WORD>
|
||||
<PUT ,P-VTBL 0 .WRD>
|
||||
<PUTB ,P-VTBL 2 <GETB ,P-LEXV
|
||||
<SET NUM
|
||||
<+ <* .PTR 2> 2>>>>
|
||||
<PUTB ,P-VTBL 3 <GETB ,P-LEXV <+ .NUM 1>>>)
|
||||
(<OR <SET VAL <WT? .WORD ,PS?PREPOSITION 0>>
|
||||
<AND <OR <EQUAL? .WORD ;,W?ALL ,W?ONE ,W?A>
|
||||
<WT? .WORD ,PS?ADJECTIVE>
|
||||
<WT? .WORD ,PS?OBJECT>>
|
||||
<SET VAL 0>>>
|
||||
<COND (<AND <G? ,P-LEN 0>
|
||||
(<OR <SET VAL <WT? .WRD ,PS?PREPOSITION 0>>
|
||||
<AND <OR <EQUAL? .WRD ;,W?ALL ,W?ONE ,W?A>
|
||||
<WT? .WRD ,PS?ADJECTIVE>
|
||||
<WT? .WRD ,PS?OBJECT>>
|
||||
;<SET VAL 0>>>
|
||||
<COND (<AND <G? ,P-LEN 1 ;0>
|
||||
<==? <GET ,P-LEXV
|
||||
<+ .PTR ,P-LEXELEN>>
|
||||
,W?OF>
|
||||
<NOT <EQUAL? .VERB
|
||||
,ACT?MAKE>>
|
||||
<0? .VAL>
|
||||
<NOT <EQUAL? .WORD
|
||||
;,W?ALL ,W?ONE ,W?A>>>)
|
||||
<NOT <EQUAL? .WRD
|
||||
;,W?ALL ,W?ONE ,W?A>>>
|
||||
<SET OF-FLAG T>)
|
||||
(<AND <NOT <0? .VAL>>
|
||||
<OR <0? ,P-LEN>
|
||||
<EQUAL? <GET ,P-LEXV <+ .PTR 2>>
|
||||
,W?THEN ,W?.>>>
|
||||
,W?THEN ,W?PERIOD>>>
|
||||
<COND (<L? ,P-NCN 2>
|
||||
<PUT ,P-ITBL ,P-PREP1 .VAL>
|
||||
<PUT ,P-ITBL ,P-PREP1N .WORD>)>)
|
||||
<PUT ,P-ITBL ,P-PREP1N .WRD>)>)
|
||||
(<==? ,P-NCN 2>
|
||||
<TELL
|
||||
"(I found too many nouns in that sentence!)" CR>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SETG P-NCN <+ ,P-NCN 1>>
|
||||
<OR <SET PTR <CLAUSE .PTR .VAL .WORD>>
|
||||
<OR <SET PTR <CLAUSE .PTR .VAL .WRD>>
|
||||
<RFALSE>>
|
||||
<COND (<L? .PTR 0>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<RETURN>)>)>)
|
||||
(<==? .WORD ,W?CLOSELY>
|
||||
(<==? .WRD ,W?CLOSELY>
|
||||
<SETG P-ADVERB ,W?CAREFULLY>)
|
||||
(<OR <EQUAL? .WORD
|
||||
(<OR <EQUAL? .WRD
|
||||
,W?CAREFULLY ,W?QUIETLY ,W?PRIVATELY>
|
||||
<EQUAL? .WORD
|
||||
<EQUAL? .WRD
|
||||
,W?SLOWLY ,W?QUICKLY ,W?BRIEFLY>>
|
||||
<SETG P-ADVERB .WORD>)
|
||||
(<WT? .WORD ,PS?BUZZ-WORD>)
|
||||
<SETG P-ADVERB .WRD>)
|
||||
(<EQUAL? .WRD ,W?OF>
|
||||
<COND (<OR <NOT .OF-FLAG>
|
||||
<EQUAL?
|
||||
<GET ,P-LEXV <+ .PTR ,P-LEXELEN>>
|
||||
,W?PERIOD ,W?THEN>>
|
||||
<CANT-USE .PTR>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SET OF-FLAG <>>)>)
|
||||
(<WT? .WRD ,PS?BUZZ-WORD>)
|
||||
(T
|
||||
<CANT-USE .PTR>
|
||||
<RFALSE>)>)
|
||||
(T
|
||||
<UNKNOWN-WORD .PTR>
|
||||
<RFALSE>)>
|
||||
<SET LW .WORD>
|
||||
<SET LW .WRD>
|
||||
<SET PTR <+ .PTR ,P-LEXELEN>>>
|
||||
<COND (.DIR
|
||||
<SETG PRSA ,V?WALK>
|
||||
@@ -354,13 +364,13 @@ any more.)" CR>
|
||||
<GETB .PTR .OFFSET>)>)>>
|
||||
" Scan through a noun clause, leave a pointer to its starting location"
|
||||
|
||||
<ROUTINE CLAUSE (PTR VAL WORD "AUX" OFF NUM (ANDFLG <>) (FIRST?? T) NW (LW 0))
|
||||
#DECL ((PTR VAL OFF NUM) FIX (WORD NW) <OR FALSE FIX TABLE>
|
||||
<ROUTINE CLAUSE (PTR VAL WRD "AUX" OFF NUM (ANDFLG <>) (FIRST?? T) NW (LW 0))
|
||||
#DECL ((PTR VAL OFF NUM) FIX (WRD NW) <OR FALSE FIX TABLE>
|
||||
(ANDFLG FIRST??) <OR ATOM FALSE>)
|
||||
<SET OFF <* <- ,P-NCN 1> 2>>
|
||||
<COND (<NOT <==? .VAL 0>>
|
||||
<PUT ,P-ITBL <SET NUM <+ ,P-PREP1 .OFF>> .VAL>
|
||||
<PUT ,P-ITBL <+ .NUM 1> .WORD>
|
||||
<PUT ,P-ITBL <+ .NUM 1> .WRD>
|
||||
<SET PTR <+ .PTR ,P-LEXELEN>>)
|
||||
(T <SETG P-LEN <+ ,P-LEN 1>>)>
|
||||
<COND (<0? ,P-LEN> <SETG P-NCN <- ,P-NCN 1>> <RETURN -1>)>
|
||||
@@ -371,27 +381,27 @@ any more.)" CR>
|
||||
<COND (<L? <SETG P-LEN <- ,P-LEN 1>> 0>
|
||||
<PUT ,P-ITBL <+ .NUM 1> <REST ,P-LEXV <* .PTR 2>>>
|
||||
<RETURN -1>)>
|
||||
<COND (<BUZZER-WORD? <SET WORD <GET ,P-LEXV .PTR>>>
|
||||
<COND (<BUZZER-WORD? <SET WRD <GET ,P-LEXV .PTR>>>
|
||||
<RFALSE>)
|
||||
(<OR .WORD
|
||||
<SET WORD <NUMBER? .PTR>>
|
||||
<SET WORD <NAME? .PTR>>>
|
||||
(<OR .WRD
|
||||
<SET WRD <NUMBER? .PTR>>
|
||||
<SET WRD <NAME? .PTR>>>
|
||||
<COND (<0? ,P-LEN> <SET NW 0>)
|
||||
(T <SET NW <GET ,P-LEXV <+ .PTR ,P-LEXELEN>>>)>
|
||||
<COND (<AND <==? .WORD ,W?OF>
|
||||
<COND (<AND <==? .WRD ,W?OF>
|
||||
<EQUAL? <GET ,P-ITBL ,P-VERB> ,ACT?MAKE>>
|
||||
<PUT ,P-LEXV .PTR ,W?WITH>
|
||||
<SET WORD ,W?WITH>)>
|
||||
<COND ;(<AND <EQUAL? .WORD ,W?.>
|
||||
<SET WRD ,W?WITH>)>
|
||||
<COND ;(<AND <EQUAL? .WRD ,W?PERIOD>
|
||||
<EQUAL? .LW ,W?MRS ,W?MR>>
|
||||
<SET LW 0>)
|
||||
(<EQUAL? .WORD ,W?AND ,W?COMMA> <SET ANDFLG T>)
|
||||
(<EQUAL? .WORD ;,W?ALL ,W?ONE>
|
||||
(<EQUAL? .WRD ,W?AND ,W?COMMA> <SET ANDFLG T>)
|
||||
(<EQUAL? .WRD ;,W?ALL ,W?ONE>
|
||||
<COND (<==? .NW ,W?OF>
|
||||
<SETG P-LEN <- ,P-LEN 1>>
|
||||
<SET PTR <+ .PTR ,P-LEXELEN>>)>)
|
||||
(<OR <EQUAL? .WORD ,W?THEN ,W?.>
|
||||
<AND <WT? .WORD ,PS?PREPOSITION>
|
||||
(<OR <EQUAL? .WRD ,W?THEN ,W?PERIOD>
|
||||
<AND <WT? .WRD ,PS?PREPOSITION>
|
||||
<NOT .FIRST??>>>
|
||||
<SETG P-LEN <+ ,P-LEN 1>>
|
||||
<PUT ,P-ITBL
|
||||
@@ -402,13 +412,13 @@ any more.)" CR>
|
||||
(<AND .ANDFLG
|
||||
<OR ;"3/25/83: next statement added."
|
||||
<EQUAL? <GET ,P-ITBL ,P-VERBN> 0>
|
||||
<WT? .WORD ,PS?DIRECTION>
|
||||
<WT? .WORD ,PS?VERB>>>
|
||||
<WT? .WRD ,PS?DIRECTION>
|
||||
<WT? .WRD ,PS?VERB>>>
|
||||
<SET PTR <- .PTR 4>>
|
||||
<PUT ,P-LEXV <+ .PTR 2> ,W?THEN>
|
||||
<SETG P-LEN <+ ,P-LEN 2>>)
|
||||
(<WT? .WORD ,PS?OBJECT>
|
||||
<COND (<AND <WT? .WORD
|
||||
(<WT? .WRD ,PS?OBJECT>
|
||||
<COND (<AND <WT? .WRD
|
||||
,PS?ADJECTIVE
|
||||
,P1?ADJECTIVE>
|
||||
<NOT <==? .NW 0>>
|
||||
@@ -421,14 +431,14 @@ any more.)" CR>
|
||||
<REST ,P-LEXV <* <+ .PTR 2> 2>>>
|
||||
<RETURN .PTR>)
|
||||
(T <SET ANDFLG <>>)>)
|
||||
(<OR <WT? .WORD ,PS?ADJECTIVE>
|
||||
<WT? .WORD ,PS?BUZZ-WORD>>)
|
||||
(<WT? .WORD ,PS?PREPOSITION> T)
|
||||
(<OR <WT? .WRD ,PS?ADJECTIVE>
|
||||
<WT? .WRD ,PS?BUZZ-WORD>>)
|
||||
(<WT? .WRD ,PS?PREPOSITION> T)
|
||||
(T
|
||||
<CANT-USE .PTR>
|
||||
<RFALSE>)>)
|
||||
(T <UNKNOWN-WORD .PTR> <RFALSE>)>
|
||||
<SET LW .WORD>
|
||||
<SET LW .WRD>
|
||||
<SET FIRST?? <>>
|
||||
<SET PTR <+ .PTR ,P-LEXELEN>>>>
|
||||
|
||||
@@ -477,8 +487,12 @@ any more.)" CR>
|
||||
(<==? <GET ,P-OTBL ,P-NC1> 1>
|
||||
<COND (<OR <==? <SET TEMP <GET ,P-ITBL ,P-PREP1>> <GET ,P-OTBL ,P-PREP1>>
|
||||
<0? .TEMP>>
|
||||
<PUT ,P-OTBL ,P-NC1 <GET ,P-ITBL ,P-NC1>>
|
||||
<PUT ,P-OTBL ,P-NC1L <GET ,P-ITBL ,P-NC1L>>)
|
||||
<COND (.ADJ
|
||||
<PUT ,P-OTBL ,P-NC1 <REST ,P-LEXV 2>>
|
||||
<PUT ,P-OTBL ,P-NC1L <REST ,P-LEXV 6>>)
|
||||
(T
|
||||
<PUT ,P-OTBL ,P-NC1 <GET ,P-ITBL ,P-NC1>>
|
||||
<PUT ,P-OTBL ,P-NC1L <GET ,P-ITBL ,P-NC1L>>)>)
|
||||
(T <RFALSE>)>)
|
||||
(<==? <GET ,P-OTBL ,P-NC2> 1>
|
||||
<COND (<OR <==? <SET TEMP <GET ,P-ITBL ,P-PREP1>> <GET ,P-OTBL ,P-PREP2>>
|
||||
@@ -520,6 +534,7 @@ any more.)" CR>
|
||||
T>
|
||||
|
||||
<ROUTINE ACLAUSE-WIN (ADJ)
|
||||
<PUT ,P-ITBL ,P-VERB <GET ,P-OTBL ,P-VERB>>
|
||||
<SETG P-CCSRC ,P-OTBL>
|
||||
<CLAUSE-COPY ,P-ACLAUSE <+ ,P-ACLAUSE 1> .ADJ>
|
||||
<AND <NOT <==? <GET ,P-OTBL ,P-NC2> 0>>
|
||||
@@ -537,20 +552,18 @@ any more.)" CR>
|
||||
<PRINTC <GETB ,P-INBUF .BUF>>
|
||||
<SET BUF <+ .BUF 1>>)>>>
|
||||
|
||||
<GLOBAL UNKNOWN-MSGS <TABLE "(I don't know the word \"" "\".)">>
|
||||
|
||||
<ROUTINE UNKNOWN-WORD (PTR "AUX" BUF)
|
||||
#DECL ((PTR BUF) FIX)
|
||||
<TELL <GET ,UNKNOWN-MSGS 0>>
|
||||
<TELL "(I don't know the word \"">
|
||||
<WORD-PRINT <GETB <REST ,P-LEXV <SET BUF <* .PTR 2>>> 2>
|
||||
<GETB <REST ,P-LEXV .BUF> 3>>
|
||||
<SETG QUOTE-FLAG <>>
|
||||
<SETG P-OFLAG <>>
|
||||
<TELL <GET ,UNKNOWN-MSGS 1> CR>>
|
||||
<TELL "\".)" CR>>
|
||||
|
||||
<ROUTINE CANT-USE (PTR "AUX" BUF)
|
||||
#DECL ((PTR BUF) FIX)
|
||||
%<XTELL "(Sorry, but I don't understand the word \"">
|
||||
<TELL "(Sorry, but I don't understand the word \"">
|
||||
<WORD-PRINT <GETB <REST ,P-LEXV <SET BUF <* .PTR 2>>> 2>
|
||||
<GETB <REST ,P-LEXV .BUF> 3>>
|
||||
<TELL "\" when you use it that way.)" CR>
|
||||
@@ -635,13 +648,13 @@ CR>
|
||||
<PUT ,P-PRSI 1 .OBJ>
|
||||
<SYNTAX-FOUND .DRIVE2>)
|
||||
(<EQUAL? .VERB ,ACT?FIND ,ACT?NAME>
|
||||
%<XTELL "(Sorry, but I can't answer that question.)" CR>
|
||||
<TELL "(Sorry, but I can't answer that question.)" CR>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<COND (<EQUAL? ,WINNER ,PLAYER>
|
||||
<ORPHAN .DRIVE1 .DRIVE2>
|
||||
<TELL "(Wh"
|
||||
<COND (<EQUAL? .VERB ,ACT?WALK ,ACT?CRAWL> "ere")
|
||||
<COND (<EQUAL? .VERB ,ACT?WALK> "ere")
|
||||
(T "at")>
|
||||
" do you want to ">)
|
||||
(T
|
||||
@@ -697,7 +710,8 @@ CR>
|
||||
(T
|
||||
<COND (.NOSP <SET NOSP <>>)
|
||||
(T <TELL " ">)>
|
||||
<COND (<==? <SET WRD <GET .BEG 0>> ,W?.> <SET NOSP T>)
|
||||
<COND (<==? <SET WRD <GET .BEG 0>> ,W?PERIOD>
|
||||
<SET NOSP T>)
|
||||
(<==? .WRD ,W?DR> <TELL "Dr."> <SET PN T>)
|
||||
(<EQUAL? .WRD ,W?HIM ,W?HER ,W?ME> <SET PN T>)
|
||||
(<CAPITAL-NOUN? .WRD>
|
||||
@@ -877,31 +891,31 @@ CR>
|
||||
|
||||
<GLOBAL P-CSPTR <>>
|
||||
<GLOBAL P-CEPTR <>>
|
||||
<GLOBAL P-AND <>>
|
||||
|
||||
<ROUTINE SNARFEM (PTR EPTR TBL "AUX" (AND <>) (BUT <>) LEN WV WORD NW)
|
||||
#DECL ((TBL) TABLE (PTR EPTR) <PRIMTYPE VECTOR> (AND) <OR ATOM FALSE>
|
||||
(BUT) <OR FALSE TABLE> (WV) <OR FALSE FIX>)
|
||||
<ROUTINE SNARFEM (PTR EPTR TBL "AUX" (BUT <>) LEN WV WRD NW)
|
||||
<SETG P-AND <>>
|
||||
<SETG P-GETFLAGS 0>
|
||||
<SETG P-CSPTR .PTR>
|
||||
<SETG P-CEPTR .EPTR>
|
||||
<PUT ,P-BUTS ,P-MATCHLEN 0>
|
||||
<PUT .TBL ,P-MATCHLEN 0>
|
||||
<SET WORD <GET .PTR 0>>
|
||||
<SET WRD <GET .PTR 0>>
|
||||
<REPEAT ()
|
||||
<COND (<==? .PTR .EPTR> <RETURN <GET-OBJECT <OR .BUT .TBL>>>)
|
||||
(T
|
||||
<SET NW <GET .PTR ,P-LEXELEN>>
|
||||
<COND ;(<==? .WORD ,W?ALL>
|
||||
<COND ;(<==? .WRD ,W?ALL>
|
||||
<SETG P-GETFLAGS ,P-ALL>
|
||||
<COND (<==? .NW ,W?OF>
|
||||
<SET PTR <REST .PTR ,P-WORDLEN>>)>)
|
||||
;(<EQUAL? .WORD ,W?BUT ,W?EXCEPT>
|
||||
;(<EQUAL? .WRD ,W?BUT ,W?EXCEPT>
|
||||
<OR <GET-OBJECT <OR .BUT .TBL>> <RFALSE>>
|
||||
<SET BUT ,P-BUTS>
|
||||
<PUT .BUT ,P-MATCHLEN 0>)
|
||||
(<BUZZER-WORD? .WORD>
|
||||
(<BUZZER-WORD? .WRD>
|
||||
<RFALSE>)
|
||||
(<EQUAL? .WORD ,W?A ,W?ONE>
|
||||
(<EQUAL? .WRD ,W?A ,W?ONE>
|
||||
<COND (<NOT ,P-ADJ>
|
||||
<SETG P-GETFLAGS ,P-ONE>
|
||||
<COND (<==? .NW ,W?OF>
|
||||
@@ -910,25 +924,26 @@ CR>
|
||||
<SETG P-NAM ,P-ONEOBJ>
|
||||
<OR <GET-OBJECT <OR .BUT .TBL>> <RFALSE>>
|
||||
<AND <0? .NW> <RTRUE>>)>)
|
||||
(<AND <EQUAL? .WORD ,W?AND ,W?COMMA>
|
||||
(<AND <EQUAL? .WRD ,W?AND ,W?COMMA>
|
||||
<NOT <EQUAL? .NW ,W?AND ,W?COMMA>>>
|
||||
<SETG P-AND T>
|
||||
<OR <GET-OBJECT <OR .BUT .TBL>> <RFALSE>>
|
||||
T)
|
||||
(<WT? .WORD ,PS?BUZZ-WORD>)
|
||||
(<EQUAL? .WORD ,W?AND ,W?COMMA>)
|
||||
(<==? .WORD ,W?OF>
|
||||
(<WT? .WRD ,PS?BUZZ-WORD>)
|
||||
(<EQUAL? .WRD ,W?AND ,W?COMMA>)
|
||||
(<==? .WRD ,W?OF>
|
||||
<COND (<0? ,P-GETFLAGS>
|
||||
<SETG P-GETFLAGS ,P-INHIBIT>)>)
|
||||
(<AND <SET WV <WT? .WORD ,PS?ADJECTIVE ,P1?ADJECTIVE>>
|
||||
(<AND <SET WV <WT? .WRD ,PS?ADJECTIVE ,P1?ADJECTIVE>>
|
||||
<NOT ,P-ADJ>>
|
||||
<SETG P-ADJ .WV>
|
||||
<SETG P-ADJN .WORD>)
|
||||
(<WT? .WORD ,PS?OBJECT ,P1?OBJECT>
|
||||
<SETG P-NAM .WORD>
|
||||
<SETG P-ONEOBJ .WORD>)>)>
|
||||
<SETG P-ADJN .WRD>)
|
||||
(<WT? .WRD ,PS?OBJECT ,P1?OBJECT>
|
||||
<SETG P-NAM .WRD>
|
||||
<SETG P-ONEOBJ .WRD>)>)>
|
||||
<COND (<NOT <==? .PTR .EPTR>>
|
||||
<SET PTR <REST .PTR ,P-WORDLEN>>
|
||||
<SET WORD .NW>)>>>
|
||||
<SET WRD .NW>)>>>
|
||||
|
||||
<CONSTANT SH 128>
|
||||
|
||||
@@ -1028,6 +1043,7 @@ CR>
|
||||
<RFALSE>)>)
|
||||
(<AND <0? .LEN> .GCHECK>
|
||||
<COND (.VRB
|
||||
<SETG P-SLOCBITS .XBITS>
|
||||
<COND (,LIT
|
||||
;"Changed 6/10/83 - MARC"
|
||||
<OBJ-FOUND ,NOT-HERE-OBJECT .TBL>
|
||||
@@ -1040,7 +1056,7 @@ CR>
|
||||
<SETG P-ADJ <>>
|
||||
<SETG P-ADJN <>>
|
||||
<RTRUE>)
|
||||
(T %<XTELL "(It's too dark to see!)" CR>)>)>
|
||||
(T <TELL "(It's too dark to see!)" CR>)>)>
|
||||
<SETG P-NAM <>>
|
||||
<SETG P-ADJ <>>
|
||||
<RFALSE>)
|
||||
@@ -1088,7 +1104,7 @@ CR>
|
||||
<ROUTINE WHICH-PRINT (TLEN LEN TBL "AUX" OBJ RLEN)
|
||||
<SET RLEN .LEN>
|
||||
<TELL "(Which">
|
||||
<COND (<OR ,P-OFLAG ,P-MERGED> <TELL " "> <PRINTB ,P-NAM>)
|
||||
<COND (<OR ,P-OFLAG ,P-MERGED ,P-AND> <TELL " "> <PRINTB ,P-NAM>)
|
||||
(<==? .TBL ,P-PRSO>
|
||||
<CLAUSE-PRINT ,P-NC1 ,P-NC1L <>>)
|
||||
(T <CLAUSE-PRINT ,P-NC2 ,P-NC2L <>>)>
|
||||
@@ -1123,6 +1139,7 @@ CR>
|
||||
;<COND (,DEBUG <TELL "[GLBCHK: (PS) RMGL=" N .RMGL "]" CR>)>
|
||||
<REPEAT ()
|
||||
<COND (<==? ,P-NAM <GET .RMG <* .CNT 2>>>
|
||||
<SETG LAST-PSEUDO-LOC ,HERE>
|
||||
<PUTP ,PSEUDO-OBJECT
|
||||
,P?ACTION
|
||||
<GET .RMG <+ <* .CNT 2> 1>>>
|
||||
@@ -1254,9 +1271,9 @@ CR>
|
||||
<NOT <BTST <GETB ,P-SYNTAX ,P-SLOC2> ,SMANY>>>
|
||||
<SET LOSS 2>)>
|
||||
<COND (.LOSS
|
||||
%<XTELL "(You can't use more than one ">
|
||||
<TELL "(You can't use more than one ">
|
||||
<COND (<==? .LOSS 2> <TELL "in">)>
|
||||
%<XTELL "direct object with \"">
|
||||
<TELL "direct object with \"">
|
||||
<SET TMP <GET ,P-ITBL ,P-VERBN>>
|
||||
<COND (<0? .TMP> <TELL "tell">)
|
||||
(,P-OFLAG
|
||||
@@ -1287,9 +1304,9 @@ CR>
|
||||
<COND (<FSET? <SET X <GETB .TBL .CNT>> .ITM> <RETURN .X>)
|
||||
(<IGRTR? CNT .SIZE> <RFALSE>)>>>
|
||||
|
||||
<SETG ALWAYS-LIT <>>
|
||||
"<SETG ALWAYS-LIT <>>"
|
||||
|
||||
<ROUTINE LIT? (RM "AUX" OHERE (LIT <>))
|
||||
;<ROUTINE LIT? (RM "AUX" OHERE (LIT <>))
|
||||
#DECL ((RM OHERE) OBJECT (LIT) <OR ATOM FALSE>)
|
||||
<SETG P-GWIMBIT ,ONBIT>
|
||||
<SET OHERE ,HERE>
|
||||
|
||||
99
party-boys.manual
Normal file
99
party-boys.manual
Normal file
@@ -0,0 +1,99 @@
|
||||
|
||||
The Party Boys Handbook:
|
||||
|
||||
Seven twisted, demented tales of survival
|
||||
|
||||
1. Frank and Joe Pack Survival Kits
|
||||
|
||||
"I'm sure glad Dad's out of town this weekend," Frank said as he swerved
|
||||
into the garage, and slumped over the steering column.
|
||||
|
||||
"So am I," Joe agreed, shaking Frank to rouse him from his intoxicated
|
||||
state. "Even though we learned alot in the Boy Scouts, you can't beat the
|
||||
weekend parties that we have."
|
||||
|
||||
"How true!" Frank stumbled into the house. "Weekends really tought me
|
||||
the basic priorities of life: Tequila, peyote and columbian tapdancing
|
||||
powder."
|
||||
|
||||
"A human being can live for three minutes without air, three days without
|
||||
water and three WEEKS without food. But we can't go three seconds without a
|
||||
pop or a hit. I call it the 'Rule of Three.'"
|
||||
|
||||
Frank winked at his younger brother teasingly. "And it never takes you
|
||||
more than THREE beers to get tanked!"
|
||||
|
||||
Joe grinned sheepishly, then answered, "That's because I never drink beer
|
||||
unless I've already done three tabs of acid. Three glasses of WATER could
|
||||
get me tanked when I'm tripping."
|
||||
|
||||
"That's amusing." Frank belched out. "Learning how much fun it is to
|
||||
provide beer mixer to counteract the LSD and keep your reaction complex as
|
||||
normal as possible."
|
||||
|
||||
"Amusing, but exciting too," Joe answered, "to think how swiftly our
|
||||
minds react when we do LSD AND beer. And to realize that then we can't make
|
||||
wise decisions for ourselves, that we can become so... so FUCKED UP!"
|
||||
|
||||
"Right," Frank replied, "but thanks to last weekend, we now know what the
|
||||
real priorities of life are and, regardles of circumstances, how to provide
|
||||
for them." He hesitated. "And how important it is that we carry survival
|
||||
kits so we can take care of ourselves on Sundays or if BayVille goes dry or
|
||||
something."
|
||||
|
||||
Joe, scratching his butt, nodded in agreement.
|
||||
"Let's see now -- have we got everything we need to put the survival kits
|
||||
together?" He faced Frank across the kitchen table. Carefully, they
|
||||
scrutinized the jumble of illegal substances spread out before them. Some of
|
||||
the things were from Mom and Dad's liquor cabinet, but the boys had bought
|
||||
most of the loot that afternoon, from Chet, their connection.
|
||||
|
||||
"It sure looks like it," Joe answered. "So let's get busy and start with
|
||||
the small pocket kits."
|
||||
|
||||
Frank grinned at his younger brother. "Why don't you read off what's on
|
||||
that list in Dr. Hunter S. Thompson's novel, Fear and Loathing in Las Vegas,
|
||||
and I'll put each item aside, one for you and one for me."
|
||||
|
||||
"Okay," said Joe, retreiving the novel from under a floorboard. "The first
|
||||
thing is a container in which to carry everything."
|
||||
|
||||
Frank nodded as he placed two 'Mr. T' lunchboxes at one end of the table.
|
||||
|
||||
"Item two, two plastic bags of fine Brazilian shake," Joe read as Frank
|
||||
measured the portions from a plastic lawn bag filled with two kilos of
|
||||
marijuana.
|
||||
|
||||
"Next, two grams of cocaine -- wait, I don't trust you with that," joe
|
||||
said.
|
||||
|
||||
The boys cut and measured two two-gram portions of coke, which they stowed
|
||||
with the other articles. Joe picked up the coke and grass and said, "It's
|
||||
hard to believe that THIS can bring on an adequate high."
|
||||
|
||||
"Not if you stretch the word ADEQUATE," Frank responded, winking. "This is
|
||||
a SURVIVAL kit we're putting together, not a week-long euphoria outfit."
|
||||
|
||||
"That's right," Joe laughed. "I'm too wasted to think straight... Okay,
|
||||
what's next? A metal "Sneak-a-toke" pipe and a nip of Everclear."
|
||||
|
||||
"Got 'em," Frank said, and added, "This sneak-a-toke is a great gadget."
|
||||
He held up the tiny pipe. "No smoke escapes the chambe, so you get WICKED
|
||||
wasted off just one hit! But when Dr. Thompson reccomended using Everclear to
|
||||
mix with the pot, he really surprised me."
|
||||
|
||||
"Me too," agreed Joe, "but he's right. You want something that'll set you
|
||||
on fire even when you're high, and no other booze will do that. Hey, are you
|
||||
sure that our brand is good enough?"
|
||||
|
||||
"Yes," Frank quipped, holding up the bottle. Joe read the label aloud: VERY
|
||||
FINE TRIPLE-X EVERCLEAR ( 190 PROOF ). He watched as Frank uncorked one bottle
|
||||
and swigged it down.
|
||||
|
||||
"Now what?" He asked as Joe consulted the list.
|
||||
|
||||
"Lighters," Joe replied.
|
||||
|
||||
Frank added two "Side Swipe" pipe lighters to the sneak-a-tokes. "Fun and
|
||||
|
||||
|
||||
960
people.zap
960
people.zap
File diff suppressed because it is too large
Load Diff
582
people.zil
582
people.zil
File diff suppressed because it is too large
Load Diff
213
places.zap
213
places.zap
@@ -17,27 +17,16 @@
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT DDESC,STR1,DOOR,STR2
|
||||
PRINT STR1
|
||||
FSET? DOOR,OPENBIT \?ELS5
|
||||
PRINTI "open"
|
||||
JUMP ?CND3
|
||||
?ELS5: PRINTI "closed"
|
||||
?CND3: PRINT STR2
|
||||
CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT DOOR-ROOM,RM,DR,P=0,T
|
||||
.FUNCT DOOR-ROOM,RM,DR,P=0,TBL
|
||||
?PRG1: NEXTP RM,P >P
|
||||
ZERO? P /FALSE
|
||||
LESS? P,LOW-DIRECTION /FALSE
|
||||
GETPT RM,P >T
|
||||
PTSIZE T
|
||||
GETPT RM,P >TBL
|
||||
PTSIZE TBL
|
||||
EQUAL? DEXIT,STACK \?PRG1
|
||||
GETB T,DEXITOBJ
|
||||
GETB TBL,DEXITOBJ
|
||||
EQUAL? DR,STACK \?PRG1
|
||||
GETB T,REXIT
|
||||
GETB TBL,REXIT
|
||||
RETURN STACK
|
||||
|
||||
|
||||
@@ -123,7 +112,7 @@
|
||||
|
||||
|
||||
.FUNCT NORTH-WALL-F,RARG=0
|
||||
EQUAL? RARG,M-LOOK \FALSE
|
||||
EQUAL? RARG,M-LOOK \?ELS5
|
||||
PRINTI "You're in the "
|
||||
PRINTD NORTH-WALL
|
||||
PRINTI " of "
|
||||
@@ -131,6 +120,10 @@
|
||||
PRINTI ". A "
|
||||
PRINTD COMPUTESTOR
|
||||
PRINTR " stands here to help test your inventions."
|
||||
?ELS5: EQUAL? RARG,M-ENTER \FALSE
|
||||
CALL VIDEOPHONE-WORKING
|
||||
ZERO? STACK \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT COMPUTESTOR-F
|
||||
@@ -141,9 +134,9 @@
|
||||
PRINTD COMPUTESTOR
|
||||
PRINTI " is o"
|
||||
FSET? COMPUTESTOR,ONBIT \?ELS16
|
||||
PUSH STR?45
|
||||
PUSH STR?40
|
||||
JUMP ?CND12
|
||||
?ELS16: PUSH STR?46
|
||||
?ELS16: PUSH STR?41
|
||||
?CND12: PRINT STACK
|
||||
PRINTR "."
|
||||
?ELS9: EQUAL? PRSA,V?LAMP-ON \?ELS20
|
||||
@@ -284,9 +277,15 @@ Possible causes:
|
||||
PRINTD DESK
|
||||
PRINTR "."
|
||||
?ELS5: EQUAL? RARG,M-ENTER \FALSE
|
||||
CALL VIDEOPHONE-WORKING
|
||||
ZERO? STACK \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT VIDEOPHONE-WORKING
|
||||
ZERO? BREAKER-JUST-FIXED /FALSE
|
||||
FSET? CIRCUIT-BREAKER,OPENBIT /FALSE
|
||||
SET 'BREAKER-JUST-FIXED,0
|
||||
SET 'BREAKER-JUST-FIXED,FALSE-VALUE
|
||||
PRINTI "As you re-enter the lab, "
|
||||
CALL TIP-SAYS
|
||||
PRINTI "Look, "
|
||||
@@ -302,14 +301,21 @@ Possible causes:
|
||||
|
||||
|
||||
.FUNCT DESK-F
|
||||
CALL COMMON-DESK-F,DESK
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT COMMON-DESK-F,OBJ
|
||||
EQUAL? PRSA,V?OPEN \?ELS5
|
||||
PRINTR "It has no drawers."
|
||||
?ELS5: EQUAL? PRSA,V?LOOK-ON,V?LOOK-INSIDE,V?EXAMINE \FALSE
|
||||
EQUAL? PRSO,DESK \FALSE
|
||||
PRINTI "An intercom is on the desk"
|
||||
FIRST? DESK \?CND14
|
||||
EQUAL? PRSO,OBJ \FALSE
|
||||
PRINTI "An "
|
||||
PRINTD INTERCOM
|
||||
PRINTI " is on the desk"
|
||||
FIRST? OBJ \?CND14
|
||||
PRINTI ", as well as "
|
||||
CALL PRINT-CONTENTS,DESK
|
||||
CALL PRINT-CONTENTS,OBJ
|
||||
?CND14: PRINTR "."
|
||||
|
||||
|
||||
@@ -338,7 +344,7 @@ Possible causes:
|
||||
PRINTR " fills most of the north wall."
|
||||
?ELS5: EQUAL? RARG,M-ENTER \FALSE
|
||||
FSET? CIRCUIT-BREAKER,MUNGBIT \FALSE
|
||||
CALL TELL-HINT,31,ELECTRICAL-CONTROL-PANEL,0
|
||||
CALL TELL-HINT,31,ELECTRICAL-CONTROL-PANEL,FALSE-VALUE
|
||||
RSTACK
|
||||
|
||||
|
||||
@@ -372,15 +378,15 @@ Possible causes:
|
||||
.FUNCT CIRCUIT-BREAKER-F,V
|
||||
EQUAL? PRSA,V?EXAMINE,V?ANALYZE \?ELS5
|
||||
FSET? PRSO,OPENBIT \?ELS5
|
||||
CALL TELL-HINT,31,ELECTRICAL-CONTROL-PANEL,0
|
||||
CALL TELL-HINT,31,ELECTRICAL-CONTROL-PANEL,FALSE-VALUE
|
||||
RSTACK
|
||||
?ELS5: EQUAL? PRSA,V?TURN,V?MOVE /?THN10
|
||||
?ELS5: EQUAL? PRSA,V?LAMP-ON,V?TURN,V?MOVE /?THN10
|
||||
EQUAL? PRSA,V?FIX,V?PUSH,V?CLOSE \?ELS9
|
||||
?THN10: FSET? PRSO,OPENBIT \?ELS16
|
||||
FSET PRSO,NDESCBIT
|
||||
CALL OKAY,CIRCUIT-BREAKER,STR?17
|
||||
FSET? PRSO,MUNGBIT \TRUE
|
||||
SET 'BREAKER-JUST-FIXED,1
|
||||
SET 'BREAKER-JUST-FIXED,TRUE-VALUE
|
||||
FCLEAR PRSO,MUNGBIT
|
||||
FCLEAR VIDEOPHONE,MUNGBIT
|
||||
FSET VIDEOPHONE,ONBIT
|
||||
@@ -388,9 +394,9 @@ Possible causes:
|
||||
RTRUE
|
||||
?ELS16: CALL ALREADY,CIRCUIT-BREAKER,STR?17
|
||||
RSTACK
|
||||
?ELS9: EQUAL? PRSA,V?OPEN \FALSE
|
||||
?ELS9: EQUAL? PRSA,V?LAMP-OFF,V?OPEN \FALSE
|
||||
FSET? PRSO,OPENBIT \?ELS28
|
||||
CALL ALREADY,CIRCUIT-BREAKER,STR?23
|
||||
CALL ALREADY,CIRCUIT-BREAKER,STR?21
|
||||
RSTACK
|
||||
?ELS28: PRINTR "You shouldn't do that."
|
||||
|
||||
@@ -477,8 +483,13 @@ Possible causes:
|
||||
?CND32: PRINTR " find nothing suspicious, so you decide to leave the papers alone."
|
||||
|
||||
|
||||
.FUNCT KEMP-DESK-F
|
||||
CALL COMMON-DESK-F,KEMP-DESK
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT SOUTH-WALL-F,RARG=0
|
||||
EQUAL? RARG,M-LOOK \FALSE
|
||||
EQUAL? RARG,M-LOOK \?ELS5
|
||||
PRINTI "You're in the "
|
||||
PRINTD SOUTH-WALL
|
||||
PRINTI " of "
|
||||
@@ -486,6 +497,10 @@ Possible causes:
|
||||
PRINTI ", next to shelves full of chemical and electronic supplies. A door leads south to the "
|
||||
PRINTD TEST-TANK
|
||||
PRINTR "."
|
||||
?ELS5: EQUAL? RARG,M-ENTER \FALSE
|
||||
CALL VIDEOPHONE-WORKING
|
||||
ZERO? STACK \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT CHEMICAL-SUPPLY-SHELVES-F
|
||||
@@ -503,12 +518,16 @@ Possible causes:
|
||||
|
||||
|
||||
.FUNCT WEST-WALL-F,RARG=0
|
||||
EQUAL? RARG,M-LOOK \FALSE
|
||||
EQUAL? RARG,M-LOOK \?ELS5
|
||||
PRINTI "You're in the "
|
||||
PRINTD WEST-WALL
|
||||
PRINTI " of "
|
||||
PRINTD YOUR-LABORATORY
|
||||
PRINTR ", next to a shelf full of mechanical supplies."
|
||||
?ELS5: EQUAL? RARG,M-ENTER \FALSE
|
||||
CALL VIDEOPHONE-WORKING
|
||||
ZERO? STACK \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT MECHANICAL-SUPPLY-SHELVES-F
|
||||
@@ -532,17 +551,13 @@ Possible causes:
|
||||
CALL EXIT-VERB?
|
||||
ZERO? STACK /?ELS5
|
||||
CALL THIS-IS-IT,MICROPHONE
|
||||
CALL HE-SHE-IT,WINNER,1
|
||||
CALL HE-SHE-IT,WINNER,TRUE-VALUE
|
||||
PRINTI " can't walk away while "
|
||||
CALL HE-SHE-IT,WINNER
|
||||
IN? MICROPHONE,PLAYER \?ELS12
|
||||
PRINTI "'re"
|
||||
JUMP ?CND10
|
||||
?ELS12: PRINTI "'s"
|
||||
?CND10: PRINTI " holding the "
|
||||
CALL HE-SHE-IT,WINNER,FALSE-VALUE,STR?113
|
||||
PRINTI " holding the "
|
||||
PRINTD MICROPHONE
|
||||
PRINTR "!"
|
||||
?ELS5: EQUAL? RARG,M-LOOK \FALSE
|
||||
?ELS5: EQUAL? RARG,M-LOOK \?ELS13
|
||||
PRINTI "You're at your workbench in the center of "
|
||||
PRINTD YOUR-LABORATORY
|
||||
PRINTI ", a small part of"
|
||||
@@ -550,11 +565,15 @@ Possible causes:
|
||||
PRINTI " in the town of Frobton. The "
|
||||
PRINTD VIDEOPHONE
|
||||
PRINTI " screen looms overhead"
|
||||
ZERO? ALARM-RINGING /?CND27
|
||||
ZERO? ALARM-RINGING /?CND18
|
||||
PRINTI ", with its "
|
||||
PRINTD ALARM
|
||||
PRINTI " ringing"
|
||||
?CND27: PRINTR "."
|
||||
?CND18: PRINTR "."
|
||||
?ELS13: EQUAL? RARG,M-ENTER \FALSE
|
||||
CALL VIDEOPHONE-WORKING
|
||||
ZERO? STACK \TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT WORKBENCH-F
|
||||
@@ -564,25 +583,23 @@ Possible causes:
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT SUB-PLANS-F,X,STR
|
||||
.FUNCT SCREENPLAY
|
||||
PRINTR "Screenplay by Jim Lawrence"
|
||||
|
||||
|
||||
.FUNCT SUB-PLANS-F,X
|
||||
EQUAL? PRSA,V?READ,V?EXAMINE,V?ANALYZE \FALSE
|
||||
RANDOM 100
|
||||
GRTR? 50,STACK /?PRD6
|
||||
PUSH 0
|
||||
JUMP ?PRD7
|
||||
?PRD6: PUSH 1
|
||||
?PRD7: SET 'X,STACK
|
||||
SET 'STR,STR?117
|
||||
PRINTI "Written in one corner is the legend:
|
||||
|
||||
"
|
||||
ZERO? X /?CND10
|
||||
PRINT STR
|
||||
?CND10: PRINTI " Directed by Stu Galley
|
||||
RANDOM 2 >X
|
||||
EQUAL? X,1 \?CND8
|
||||
CALL SCREENPLAY
|
||||
?CND8: PRINTI " Directed by Stu Galley
|
||||
"
|
||||
ZERO? X \?CND18
|
||||
PRINT STR
|
||||
?CND18: CRLF
|
||||
EQUAL? X,1 /?CND13
|
||||
CALL SCREENPLAY
|
||||
?CND13: CRLF
|
||||
CALL V-VERSION
|
||||
RSTACK
|
||||
|
||||
@@ -614,7 +631,8 @@ Possible causes:
|
||||
ZERO? STACK /?ELS26
|
||||
?THN29: EQUAL? PRSO,MICROPHONE-DOME,MICROPHONE \?ELS26
|
||||
EQUAL? VIDEOPHONE,REMOTE-PERSON-ON \?ELS26
|
||||
PRINTI "You'd better say ""Good-bye"""
|
||||
PRINTI "You'd better say ""Good-bye"" to "
|
||||
PRINTD REMOTE-PERSON
|
||||
PRINTR " first."
|
||||
?ELS26: EQUAL? PRSA,V?SAY-INTO,V?REPLY \?ELS34
|
||||
FSET? VIDEOPHONE,ONBIT /?ELS34
|
||||
@@ -635,22 +653,29 @@ Possible causes:
|
||||
FSET? MICROPHONE-DOME,ONBIT /?THN66
|
||||
?ELS69: ZERO? DOME? \?CND63
|
||||
FSET? MICROPHONE,ONBIT \?CND63
|
||||
?THN66: CALL ALREADY,MICROPHONE,STR?47
|
||||
?THN66: CALL ALREADY,MICROPHONE,STR?42
|
||||
RTRUE
|
||||
?CND63: ZERO? DOME? /?ELS76
|
||||
CALL OKAY,MICROPHONE-DOME,STR?47
|
||||
CALL OKAY,MICROPHONE-DOME,STR?42
|
||||
RSTACK
|
||||
?ELS76: CALL OKAY,MICROPHONE,STR?47
|
||||
?ELS76: CALL OKAY,MICROPHONE,STR?42
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT TECHNICIAN-F
|
||||
EQUAL? PRSA,V?$CALL /?THN6
|
||||
EQUAL? PRSA,V?TAKE,V?PHONE,V?FIND \FALSE
|
||||
?THN6: PRINTI "How can you do that? By telepathy or carrier pigeon? Seriously, "
|
||||
PRINTI "your "
|
||||
?THN6: PRINTI "How can you do that? By telepathy or carrier pigeon? "
|
||||
IN? SHARON,OFFICE \?CND10
|
||||
PRINTI "Seriously, your "
|
||||
PRINTD LAB-ASSISTANT
|
||||
PRINTR ", Sharon Kemp, is in her office, which is through a doorway to the east. Or, you could summon her by the intercom on your desk."
|
||||
PRINTI ", "
|
||||
PRINTD SHARON
|
||||
PRINTI ", is in her office, which is through a doorway to the east. Or, you could summon her by the "
|
||||
PRINTD INTERCOM
|
||||
PRINTI " on your desk."
|
||||
?CND10: CRLF
|
||||
RTRUE
|
||||
|
||||
|
||||
.FUNCT GANGPLANK-F
|
||||
@@ -674,9 +699,12 @@ Possible causes:
|
||||
FSET WEST-TANK-AREA,TOUCHBIT
|
||||
FSET SOUTH-TANK-AREA,TOUCHBIT
|
||||
EQUAL? HERE,NORTH-TANK-AREA \?ELS8
|
||||
PRINTI "You're at a temporary runway or gangplank that leads from the walkway to the entry hatch of the "
|
||||
PRINTI "You're at a temporary runway or gangplank that leads from the walkway to the "
|
||||
PRINTD SUB-DOOR
|
||||
PRINTI " of the "
|
||||
PRINTD GLOBAL-SUB
|
||||
CALL DDESC,STR?120,SUB-DOOR,STR?121
|
||||
PRINTI ". "
|
||||
CALL CHECK-DOOR,SUB-DOOR
|
||||
JUMP ?CND6
|
||||
?ELS8: EQUAL? HERE,WEST-TANK-AREA \?CND6
|
||||
PRINTI "You're at a "
|
||||
@@ -701,7 +729,7 @@ Possible causes:
|
||||
There's a walkway around the tank on three sides -- north, west and south. On the east side, a steel gate forms the wall of the room."
|
||||
|
||||
|
||||
.FUNCT FRESH-AIR?,RM,P,L,T,O
|
||||
.FUNCT FRESH-AIR?,RM,P,L,TBL,O
|
||||
ZERO? DOME-AIR-BAD? /?CND1
|
||||
ZERO? SUB-IN-DOME /?CND1
|
||||
PRINTR "It's impossible to tell that way whether the air is good."
|
||||
@@ -709,10 +737,10 @@ There's a walkway around the tank on three sides -- north, west and south. On th
|
||||
?PRG8: NEXTP HERE,P >P
|
||||
ZERO? P /FALSE
|
||||
LESS? P,LOW-DIRECTION /?PRG8
|
||||
GETPT HERE,P >T
|
||||
PTSIZE T >L
|
||||
GETPT HERE,P >TBL
|
||||
PTSIZE TBL >L
|
||||
EQUAL? L,DEXIT \?PRG8
|
||||
GETB T,DEXITOBJ >O
|
||||
GETB TBL,DEXITOBJ >O
|
||||
FSET? O,OPENBIT \?PRG8
|
||||
PRINTI "There's a pleasant breeze coming through the "
|
||||
PRINTD O
|
||||
@@ -834,51 +862,4 @@ There's a walkway around the tank on three sides -- north, west and south. On th
|
||||
?CND3: INC 'CNT
|
||||
JUMP ?PRG1
|
||||
|
||||
|
||||
.FUNCT COR-DIR,HERE,THERE,COR,RM,PAST=0,CNT=2,?TMP1
|
||||
GETP THERE,P?CORRIDOR >?TMP1
|
||||
GETP HERE,P?CORRIDOR
|
||||
BAND ?TMP1,STACK
|
||||
CALL GET-COR,STACK >COR
|
||||
?PRG1: GET COR,CNT >RM
|
||||
EQUAL? RM,HERE \?ELS5
|
||||
SET 'PAST,1
|
||||
JUMP ?REP2
|
||||
?ELS5: EQUAL? RM,THERE \?CND3
|
||||
JUMP ?REP2
|
||||
?CND3: INC 'CNT
|
||||
JUMP ?PRG1
|
||||
?REP2: GET COR,PAST
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT GET-COR,NUM
|
||||
EQUAL? NUM,1 \?ELS5
|
||||
RETURN COR-1
|
||||
?ELS5: EQUAL? NUM,2 \?ELS7
|
||||
RETURN COR-2
|
||||
?ELS7: EQUAL? NUM,4 \?ELS9
|
||||
RETURN COR-4
|
||||
?ELS9: EQUAL? NUM,8 \?ELS11
|
||||
RETURN COR-8
|
||||
?ELS11: EQUAL? NUM,16 \?ELS13
|
||||
RETURN COR-16
|
||||
?ELS13: EQUAL? NUM,32 \?ELS15
|
||||
RETURN COR-32
|
||||
?ELS15: EQUAL? NUM,64 \?ELS17
|
||||
RETURN COR-64
|
||||
?ELS17: EQUAL? NUM,128 \?ELS19
|
||||
RETURN COR-200
|
||||
?ELS19: EQUAL? NUM,256 \?ELS21
|
||||
RETURN COR-400
|
||||
?ELS21: EQUAL? NUM,512 \?ELS23
|
||||
RETURN COR-1000
|
||||
?ELS23: EQUAL? NUM,1024 \?ELS25
|
||||
RETURN COR-2000
|
||||
?ELS25: EQUAL? NUM,2048 \?ELS27
|
||||
RETURN COR-4000
|
||||
?ELS27: EQUAL? NUM,4096 \?ELS29
|
||||
RETURN COR-10000
|
||||
?ELS29: RETURN COR-20000
|
||||
|
||||
.ENDI
|
||||
|
||||
252
places.zil
252
places.zil
@@ -4,7 +4,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
"Directions"
|
||||
|
||||
<GLOBAL DIR-STRINGS
|
||||
<TABLE P?NORTH "north" P?SOUTH "south"
|
||||
<PTABLE P?NORTH "north" P?SOUTH "south"
|
||||
P?EAST "east" P?WEST "west"
|
||||
P?NW "northwest" P?NE "northeast"
|
||||
P?SW "southwest" P?SE "southeast"
|
||||
@@ -39,34 +39,15 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<ROUTINE NULL-F ("OPTIONAL" A1 A2)
|
||||
<RFALSE>>
|
||||
|
||||
<ROUTINE DDESC (STR1 DOOR STR2)
|
||||
#DECL ((STR1) <OR STRING ZSTRING> (DOOR) OBJECT
|
||||
(STR2) <OR FALSE STRING ZSTRING>)
|
||||
<TELL .STR1>
|
||||
<COND (<FSET? .DOOR ,OPENBIT> <TELL "open">)
|
||||
(T <TELL "closed">)>
|
||||
<TELL .STR2 CR>>
|
||||
|
||||
<DEFINE XDDESC ("CALL" F "AUX" (L ,XTELLEN))
|
||||
<COND (<NOT <GASSIGNED? PREDGEN>>
|
||||
<MAPR <>
|
||||
<FUNCTION (FF "AUX" (A <1 .FF>))
|
||||
<COND (<AND <TYPE? .A STRING ZSTRING>
|
||||
<NOT <LENGTH? .A .L>>>
|
||||
<1 .FF <STRING <SUBSTRUC .A 0 <- .L 3>>
|
||||
"...">>)>>
|
||||
.F>)>
|
||||
<1 .F DDESC>>
|
||||
|
||||
<ROUTINE DOOR-ROOM (RM DR "AUX" (P 0) T)
|
||||
<ROUTINE DOOR-ROOM (RM DR "AUX" (P 0) TBL)
|
||||
#DECL ((RM DR) OBJECT (P) FIX)
|
||||
<REPEAT ()
|
||||
<COND (<OR <0? <SET P <NEXTP .RM .P>>>
|
||||
<L? .P ,LOW-DIRECTION>>
|
||||
<RFALSE>)
|
||||
(<AND <==? ,DEXIT <PTSIZE <SET T <GETPT .RM .P>>>>
|
||||
<==? .DR <GETB .T ,DEXITOBJ>>>
|
||||
<RETURN <GETB .T ,REXIT>>)>>>
|
||||
(<AND <==? ,DEXIT <PTSIZE <SET TBL <GETPT .RM .P>>>>
|
||||
<==? .DR <GETB .TBL ,DEXITOBJ>>>
|
||||
<RETURN <GETB .TBL ,REXIT>>)>>>
|
||||
|
||||
<ROUTINE FIND-FLAG (RM FLAG "OPTIONAL" (EXCLUDED <>) "AUX" (O <FIRST? .RM>))
|
||||
<REPEAT ()
|
||||
@@ -148,7 +129,9 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<COND (<==? .RARG ,M-LOOK>
|
||||
<TELL
|
||||
"You're in the " D ,NORTH-WALL " of " D ,YOUR-LABORATORY ". A " D
|
||||
,COMPUTESTOR " stands here to help test your inventions." CR>)>>
|
||||
,COMPUTESTOR " stands here to help test your inventions." CR>)
|
||||
(<AND <==? .RARG ,M-ENTER> <VIDEOPHONE-WORKING>>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT COMPUTESTOR
|
||||
(IN NORTH-WALL)
|
||||
@@ -167,13 +150,13 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
"." CR>)
|
||||
;(<OR <VERB? FIND>
|
||||
<AND <VERB? SHOW TELL-ABOUT> <DOBJ? PLAYER>>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The " D ,COMPUTESTOR " is located in the north part of " D ,YOUR-LABORATORY
|
||||
". For more information, look in your Logbook." CR>)
|
||||
(<VERB? LAMP-ON>
|
||||
<COND (<NOT <FSET? ,COMPUTESTOR ,ONBIT>>
|
||||
<FSET ,COMPUTESTOR ,ONBIT>
|
||||
%<XTELL "The " D ,COMPUTESTOR " is ready for questions." CR>)>)
|
||||
<TELL "The " D ,COMPUTESTOR " is ready for questions." CR>)>)
|
||||
(<AND <REMOTE-VERB?>
|
||||
<OR <NOT <VERB? ASK-ABOUT>>
|
||||
<NOT <DOBJ? COMPUTESTOR>>>>
|
||||
@@ -181,7 +164,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
(<NOT <FSET? ,COMPUTESTOR ,ONBIT>>
|
||||
<TELL "The " D ,COMPUTESTOR " is off!" CR>)
|
||||
;(<VERB? TELL>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Ask the " D ,COMPUTESTOR " about something specific." CR>)
|
||||
(<VERB? ASK USE>
|
||||
<COND (<FSET? ,VIDEOPHONE ,MUNGBIT>
|
||||
@@ -198,14 +181,14 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<SETG TIP-SAYS-1 32 ;4>
|
||||
<SETG TIP-SAYS-2 ,VIDEOPHONE>
|
||||
<ENABLE <QUEUE I-TIP-SAYS 3>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Symptoms: no picture, no sound.|
|
||||
Possible causes:|
|
||||
1) Failure of the " D ,VIDEOPHONE-TRANSMITTER " at source.|
|
||||
2) A short in the " D ,VIDEOPHONE-CABLE " linking " D ,VIDEOPHONE-TRANSMITTER
|
||||
" to">
|
||||
<RESEARCH-LAB>
|
||||
%<XTELL
|
||||
<TELL
|
||||
", if signal is coming from " D ,AQUADOME ".|
|
||||
3) Sunspot interference or " D ,VIDEOPHONE-SATELLITE " malfunction if "
|
||||
D ,VIDEOPHONE-TRANSMITTER " is at earth's surface.|
|
||||
@@ -215,31 +198,31 @@ D ,VIDEOPHONE-TRANSMITTER " is at earth's surface.|
|
||||
6) Sabotage (" D ,CIRCUIT-BREAKER " open).\"" CR>)
|
||||
(<AND <IOBJ? VIDEOPHONE-TRANSMITTER>
|
||||
<FSET? ,VIDEOPHONE ,MUNGBIT>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Impossible. It's located " D ,UNDERWATER " at the " D ,AQUADOME ",
|
||||
beyond your control. Right now you have no communication with the " D
|
||||
,AQUADOME "." CR>)
|
||||
(<IOBJ? VIDEOPHONE-CABLE>
|
||||
%<XTELL "This can be done only by submarine." CR>)
|
||||
<TELL "This can be done only by submarine." CR>)
|
||||
(<IOBJ? VIDEOPHONE-SATELLITE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You're goofing off, " FN ". Video signals from the " D ,AQUADOME " to">
|
||||
<RESEARCH-LAB>
|
||||
%<XTELL
|
||||
<TELL
|
||||
" are NOT relayed by a space " D ,VIDEOPHONE-SATELLITE "." CR>)
|
||||
(<IOBJ? VIDEOPHONE-RECEIVER>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You can do this by pushing the " D ,TEST-BUTTON " on the " D
|
||||
,VIDEOPHONE "." CR>)
|
||||
(<AND <IOBJ? GLOBAL-SUB REACTOR>
|
||||
<NOT <IN? ,CATALYST-CAPSULE ,REACTOR>>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"\"Symptom: " D ,ENGINE " won't start.|
|
||||
Possible causes:|
|
||||
1) The " D ,CATALYST-CAPSULE " is not inserted in the " D ,REACTOR ".|
|
||||
2) The " D ,REACTOR " is not turned on.|
|
||||
3) The " D ,TEST-TANK " is not filled.\"" CR>)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
"\"This device is designed only to troubleshoot operating problems.\"|
|
||||
(Maybe you can find information about" THE-PRSI " in your SEASTALKER
|
||||
package.)" CR>)>)>>
|
||||
@@ -283,13 +266,16 @@ leads out through a " D ,HALLWAY " to the office of your " D
|
||||
,LAB-ASSISTANT ", " D ,GLOBAL-SHARON ". A " D
|
||||
,MICROWAVE-SECURITY-SCANNER " stands against the wall. An " D ,INTERCOM " sits
|
||||
on the " D ,DESK "." CR>)
|
||||
(<AND <==? .RARG ,M-ENTER>
|
||||
,BREAKER-JUST-FIXED
|
||||
(<AND <==? .RARG ,M-ENTER> <VIDEOPHONE-WORKING>>
|
||||
<RTRUE>)>>
|
||||
|
||||
<ROUTINE VIDEOPHONE-WORKING ()
|
||||
<COND (<AND ,BREAKER-JUST-FIXED
|
||||
<NOT <FSET? ,CIRCUIT-BREAKER ,OPENBIT>>>
|
||||
<SETG BREAKER-JUST-FIXED <>>
|
||||
<TELL "As you re-enter the lab, ">
|
||||
<TIP-SAYS>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Look, " FN "! The " D ,VIDEOPHONE
|
||||
"'s working again! There's a normal test pattern on the screen!\"" CR>)>>
|
||||
|
||||
@@ -305,12 +291,12 @@ on the " D ,DESK "." CR>)
|
||||
<ROUTINE MICROWAVE-SECURITY-SCANNER-F ()
|
||||
<COND ;(<OR <VERB? FIND>
|
||||
<AND <VERB? SHOW TELL-ABOUT> <DOBJ? PLAYER>>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The " D ,MICROWAVE-SECURITY-SCANNER " is located in the east part of "
|
||||
D ,YOUR-LABORATORY ".
|
||||
For more information, look in your Logbook." CR>)
|
||||
(<VERB? LAMP-ON>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"No beep occurs. Scanner displays: \"NO INTRUDER PRESENT ON GROUNDS.\"" CR>)>>
|
||||
|
||||
<OBJECT DESK
|
||||
@@ -323,13 +309,15 @@ For more information, look in your Logbook." CR>)
|
||||
(GENERIC GENERIC-DESK-F)
|
||||
(ACTION DESK-F)>
|
||||
|
||||
<ROUTINE DESK-F ()
|
||||
<COND (<VERB? OPEN> %<XTELL "It has no drawers." CR>)
|
||||
(<AND <VERB? EXAMINE LOOK-INSIDE LOOK-ON> <DOBJ? DESK>>
|
||||
%<XTELL "An intercom is on the desk">
|
||||
<COND (<FIRST? ,DESK>
|
||||
%<XTELL ", as well as ">
|
||||
<PRINT-CONTENTS ,DESK>)>
|
||||
<ROUTINE DESK-F () <COMMON-DESK-F ,DESK>>
|
||||
|
||||
<ROUTINE COMMON-DESK-F (OBJ)
|
||||
<COND (<VERB? OPEN> <TELL "It has no drawers." CR>)
|
||||
(<AND <VERB? EXAMINE LOOK-INSIDE LOOK-ON> <EQUAL? ,PRSO .OBJ>>
|
||||
<TELL "An " D ,INTERCOM " is on the desk">
|
||||
<COND (<FIRST? .OBJ>
|
||||
<TELL ", as well as ">
|
||||
<PRINT-CONTENTS .OBJ>)>
|
||||
<TELL "." CR>)>>
|
||||
|
||||
<ROUTINE GENERIC-DESK-F (OBJ)
|
||||
@@ -381,7 +369,7 @@ D ,ELECTRICAL-CONTROL-PANEL " fills most of the north wall." CR>)
|
||||
<ROUTINE ELECTRICAL-CONTROL-PANEL-F ()
|
||||
<COND (<AND <VERB? ANALYZE EXAMINE> <FSET? ,CIRCUIT-BREAKER ,OPENBIT>>
|
||||
<THIS-IS-IT ,CIRCUIT-BREAKER>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"A " D ,CIRCUIT-BREAKER ;" has popped open" " on the " D
|
||||
,ELECTRICAL-CONTROL-PANEL " is open. This " D ,CIRCUIT-BREAKER" controls the "
|
||||
D ,POWER-SUPPLY " to the " D ,VIDEOPHONE " and other equipment in the
|
||||
@@ -392,17 +380,17 @@ private " D ,VIDEOPHONE " network." CR>
|
||||
"How did that happen? You didn't overload the circuit.\"" CR>)>
|
||||
<RTRUE>)
|
||||
(<VERB? OPEN>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You don't need to open the " D ,ELECTRICAL-CONTROL-PANEL "." CR>)>>
|
||||
|
||||
<GLOBAL BREAKER-JUST-FIXED <>>
|
||||
<OBJECT CIRCUIT-BREAKER
|
||||
(IN HALLWAY)
|
||||
(ADJECTIVE THIS CIRCUIT)
|
||||
(ADJECTIVE THIS CIRCUIT OPEN)
|
||||
(SYNONYM BREAKER CIRCUIT SWITCH)
|
||||
(DESC "circuit breaker")
|
||||
(FDESC
|
||||
"A circuit breaker is open on the Electrical Panel." ;" Power")
|
||||
;(FDESC
|
||||
"A circuit breaker is open on the Electrical Panel.")
|
||||
(FLAGS CONTBIT NDESCBIT TOUCHBIT)
|
||||
(CAPACITY 0)
|
||||
(TEXT "(You'll find that information in your SEASTALKER package.)")
|
||||
@@ -412,7 +400,7 @@ private " D ,VIDEOPHONE " network." CR>
|
||||
<ROUTINE CIRCUIT-BREAKER-F ("AUX" V)
|
||||
<COND (<AND <VERB? ANALYZE EXAMINE> <FSET? ,PRSO ,OPENBIT>>
|
||||
<TELL-HINT 31 ,ELECTRICAL-CONTROL-PANEL <>>)
|
||||
(<VERB? CLOSE PUSH FIX MOVE TURN>
|
||||
(<VERB? CLOSE PUSH FIX MOVE TURN LAMP-ON>
|
||||
<COND (<FSET? ,PRSO ,OPENBIT>
|
||||
<FSET ,PRSO ,NDESCBIT>
|
||||
<OKAY ,CIRCUIT-BREAKER "closed">
|
||||
@@ -424,7 +412,7 @@ private " D ,VIDEOPHONE " network." CR>
|
||||
<SCORE-OBJ ,CIRCUIT-BREAKER>)>
|
||||
<RTRUE>)
|
||||
(T <ALREADY ,CIRCUIT-BREAKER "closed">)>)
|
||||
(<VERB? OPEN>
|
||||
(<VERB? OPEN LAMP-OFF>
|
||||
<COND (<FSET? ,PRSO ,OPENBIT> <ALREADY ,CIRCUIT-BREAKER "open">)
|
||||
(T
|
||||
<TELL "You shouldn't do that." CR>)>)>>
|
||||
@@ -493,7 +481,7 @@ out to the parking lot. To the west, a " D ,HALLWAY " leads back to " D
|
||||
<COND (<IN? ,SHARON ,OFFICE>
|
||||
<THIS-IS-IT ,SHARON>
|
||||
<THIS-IS-IT ,FILE-DRAWER>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"As you enter, Sharon is hastily going through the contents of an open
|
||||
" D ,FILE-DRAWER ". She turns with a startled expression as you
|
||||
appear in the doorway. Her face is flushed and her manner seems
|
||||
@@ -513,7 +501,7 @@ slightly emotional." CR>)>)>>
|
||||
|
||||
<OBJECT FILE-DRAWER
|
||||
(IN OFFICE)
|
||||
(ADJECTIVE FILE PERSONNEL SHARON KEMP\'S)
|
||||
(ADJECTIVE FILE SHARON KEMP\'S)
|
||||
(SYNONYM DRAWER FILE FILES CABINET)
|
||||
(DESC "file drawer")
|
||||
(FLAGS CONTBIT SEARCHBIT OPENBIT NDESCBIT)
|
||||
@@ -532,13 +520,12 @@ slightly emotional." CR>)>)>>
|
||||
<ROUTINE PAPERS-F ("AUX" X)
|
||||
<COND (<AND <VERB? LOOK-UP> <IOBJ? FILE-DRAWER PAPERS>>
|
||||
<COND (<FSET? ,PRSO ,PERSON>
|
||||
%<XTELL <GETP ,LOCAL-SUB ,P?TEXT>
|
||||
;"(You'll find that information in your SEASTALKER package.)" CR>)
|
||||
(T %<XTELL
|
||||
<TELL <GETP ,LOCAL-SUB ,P?TEXT> CR>)
|
||||
(T <TELL
|
||||
"There's no information in the drawer about that.">)>
|
||||
<CRLF>)
|
||||
(<AND <VERB? CLOSE> <IN? ,SHARON ,OFFICE>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Sharon stops you from closing it. \"Hey, " FN "! I can't do my job here
|
||||
if you interfere!\"" CR>)
|
||||
(<VERB? ;BURN EXAMINE LOOK-INSIDE READ TAKE SEARCH SEARCH-FOR>
|
||||
@@ -546,11 +533,11 @@ if you interfere!\"" CR>)
|
||||
<TOO-BAD-BUT ,FILE-DRAWER "closed">
|
||||
<RTRUE>)>
|
||||
<FSET ,PAPERS ,TOUCHBIT>
|
||||
%<XTELL "You look ">
|
||||
<TELL "You look ">
|
||||
<COND (<==? ,P-ADVERB ,W?CAREFULLY>
|
||||
%<XTELL "more thoroughly through the drawer and still">)
|
||||
(T %<XTELL "quickly through the drawer but">)>
|
||||
%<XTELL
|
||||
<TELL "more thoroughly through the drawer and still">)
|
||||
(T <TELL "quickly through the drawer but">)>
|
||||
<TELL
|
||||
" find nothing suspicious, so you decide to leave the papers alone." CR>)>>
|
||||
|
||||
<OBJECT KEMP-DESK
|
||||
@@ -561,7 +548,10 @@ if you interfere!\"" CR>)
|
||||
(FLAGS CONTBIT SEARCHBIT SURFACEBIT OPENBIT NDESCBIT NARTICLEBIT)
|
||||
(CAPACITY 33)
|
||||
(GENERIC GENERIC-DESK-F)
|
||||
(ACTION DESK-F)>
|
||||
(ACTION KEMP-DESK-F)>
|
||||
|
||||
<ROUTINE KEMP-DESK-F () <COMMON-DESK-F ,KEMP-DESK>>
|
||||
|
||||
]
|
||||
<ROOM LIMBO
|
||||
(IN ROOMS)
|
||||
@@ -593,7 +583,9 @@ if you interfere!\"" CR>)
|
||||
<TELL
|
||||
"You're in the " D ,SOUTH-WALL " of " D ,YOUR-LABORATORY ", next to
|
||||
shelves full of chemical and electronic supplies. A door leads south to
|
||||
the " D ,TEST-TANK "." CR>)>>
|
||||
the " D ,TEST-TANK "." CR>)
|
||||
(<AND <==? .RARG ,M-ENTER> <VIDEOPHONE-WORKING>>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT CHEMICAL-SUPPLY-SHELVES
|
||||
(IN SOUTH-WALL)
|
||||
@@ -656,7 +648,9 @@ the " D ,TEST-TANK "." CR>)>>
|
||||
<COND (<==? .RARG ,M-LOOK>
|
||||
<TELL
|
||||
"You're in the " D ,WEST-WALL " of " D ,YOUR-LABORATORY ", next to a
|
||||
shelf full of mechanical supplies." CR>)>>
|
||||
shelf full of mechanical supplies." CR>)
|
||||
(<AND <==? .RARG ,M-ENTER> <VIDEOPHONE-WORKING>>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT MECHANICAL-SUPPLY-SHELVES
|
||||
(IN WEST-WALL)
|
||||
@@ -678,15 +672,6 @@ shelf full of mechanical supplies." CR>)>>
|
||||
(SYNONYM BUNCH MECHANICAL SUPPLY SUPPLIES)
|
||||
(DESC "bunch of mechanical supplies")
|
||||
(FLAGS NDESCBIT)>
|
||||
|
||||
"<OBJECT TOOLS
|
||||
(IN WEST-WALL)
|
||||
(ADJECTIVE MACHIN OTHER)
|
||||
(SYNONYM TOOL TOOLS DEVICE BUNCH)
|
||||
(DESC 'bunch of machine tools and other devices')
|
||||
(TEXT
|
||||
'The machine tools and other devices are used by you in constructing
|
||||
pilot models of your inventions.')>"
|
||||
][
|
||||
<ROOM CENTER-OF-LAB
|
||||
(IN ROOMS)
|
||||
@@ -714,20 +699,20 @@ pilot models of your inventions.')>"
|
||||
<EXIT-VERB?>>
|
||||
<THIS-IS-IT ,MICROPHONE>
|
||||
<HE-SHE-IT ,WINNER T>
|
||||
%<XTELL " can't walk away while ">
|
||||
<HE-SHE-IT ,WINNER>
|
||||
<COND (<IN? ,MICROPHONE ,PLAYER> <TELL "'re">)
|
||||
(T <TELL "'s">)>
|
||||
<TELL " can't walk away while ">
|
||||
<HE-SHE-IT ,WINNER <> "is">
|
||||
<TELL " holding the " D ,MICROPHONE "!" CR> ;"[YOU-CANT?]")
|
||||
(<==? .RARG ,M-LOOK>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You're at your workbench in the center of " D ,YOUR-LABORATORY ",
|
||||
a small part of">
|
||||
<RESEARCH-LAB>
|
||||
<TELL
|
||||
" in the town of Frobton. The " D ,VIDEOPHONE " screen looms overhead">
|
||||
<COND (,ALARM-RINGING <TELL ", with its " D ,ALARM " ringing">)>
|
||||
<TELL "." CR>)>>
|
||||
<TELL "." CR>)
|
||||
(<AND <==? .RARG ,M-ENTER> <VIDEOPHONE-WORKING>>
|
||||
<RTRUE>)>>
|
||||
|
||||
<OBJECT WORKBENCH
|
||||
(IN CENTER-OF-LAB)
|
||||
@@ -752,19 +737,19 @@ a small part of">
|
||||
(FLAGS NDESCBIT)
|
||||
(ACTION SUB-PLANS-F)>
|
||||
|
||||
<ROUTINE SUB-PLANS-F ("AUX" X STR)
|
||||
<ROUTINE SCREENPLAY () <TELL "Screenplay by Jim Lawrence" CR>>
|
||||
|
||||
<ROUTINE SUB-PLANS-F ("AUX" X)
|
||||
<COND (<VERB? ANALYZE EXAMINE READ>
|
||||
<SET X <G? 50 <RANDOM 100>> ;<PROB 50>>
|
||||
<SET STR "Screenplay by Jim Lawrence|
|
||||
">
|
||||
%<XTELL
|
||||
<TELL
|
||||
"Written in one corner is the legend:|
|
||||
|
|
||||
">
|
||||
<COND (.X <TELL .STR>)>
|
||||
<SET X <RANDOM 2>>
|
||||
<COND (<1? .X> <SCREENPLAY>)>
|
||||
<TELL " Directed by Stu Galley|
|
||||
">
|
||||
<COND (<NOT .X> <TELL .STR>)>
|
||||
<COND (<NOT <1? .X>> <SCREENPLAY>)>
|
||||
<CRLF>
|
||||
<V-VERSION>)>>
|
||||
|
||||
@@ -785,7 +770,7 @@ a small part of">
|
||||
|
||||
<ROUTINE MICROPHONE-F ("OPTIONAL" (DOME? <>))
|
||||
<COND (<VERB? EXAMINE>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The " D ,MICROPHONE " is connected to the " D ,VIDEOPHONE " by a coiled
|
||||
cord. At the moment, it is turned o">
|
||||
<COND (<OR <AND .DOME? <FSET? ,MICROPHONE-DOME ,ONBIT>>
|
||||
@@ -797,18 +782,18 @@ cord. At the moment, it is turned o">
|
||||
<DIVESTMENT? ,MICROPHONE-DOME>>
|
||||
<DOBJ? MICROPHONE MICROPHONE-DOME>
|
||||
<EQUAL? ,VIDEOPHONE ,REMOTE-PERSON-ON>>
|
||||
%<XTELL
|
||||
"You'd better say \"Good-bye\"" ;" to D ,REMOTE-PERSON" " first." CR>)
|
||||
<TELL
|
||||
"You'd better say \"Good-bye\" to " D ,REMOTE-PERSON " first." CR>)
|
||||
(<AND <VERB? REPLY SAY-INTO> <NOT <FSET? ,VIDEOPHONE ,ONBIT>>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"That won't do any good while the " D ,VIDEOPHONE " is off." CR>)
|
||||
(<VERB? SAY-INTO>
|
||||
<COND (<EQUAL? ,REMOTE-PERSON-ON ,VIDEOPHONE>
|
||||
%<XTELL D ,REMOTE-PERSON " nods at you." CR>)
|
||||
<TELL D ,REMOTE-PERSON " nods at you." CR>)
|
||||
(,WOMAN-ON-SCREEN
|
||||
%<XTELL
|
||||
<TELL
|
||||
"That won't do any good while the sound is fuzzy." CR>)
|
||||
(T %<XTELL "It's not clear whom you're talking to." CR>)>)
|
||||
(T <TELL "It's not clear whom you're talking to." CR>)>)
|
||||
(<AND <VERB? LAMP-ON>
|
||||
<OR <IN? ,MICROPHONE ,PLAYER> <IN? ,MICROPHONE-DOME ,PLAYER>>>
|
||||
<COND (<OR <AND .DOME? <FSET? ,MICROPHONE-DOME ,ONBIT>>
|
||||
@@ -827,13 +812,14 @@ cord. At the moment, it is turned o">
|
||||
|
||||
<ROUTINE TECHNICIAN-F ()
|
||||
<COND (<VERB? FIND PHONE TAKE $CALL>
|
||||
%<XTELL
|
||||
"How can you do that? By telepathy or carrier pigeon?
|
||||
Seriously, "
|
||||
;"the telephone is on your desk to the east. "
|
||||
"your " D ,LAB-ASSISTANT
|
||||
", Sharon Kemp, is in her office, which is through a doorway to
|
||||
the east. Or, you could summon her by the intercom on your desk." CR>)>>
|
||||
<TELL
|
||||
"How can you do that? By telepathy or carrier pigeon? ">
|
||||
<COND (<IN? ,SHARON ,OFFICE>
|
||||
<TELL
|
||||
"Seriously, your " D ,LAB-ASSISTANT ", " D ,SHARON ", is in her office,
|
||||
which is through a doorway to the east. Or, you could summon her by the
|
||||
" D ,INTERCOM " on your desk.">)>
|
||||
<CRLF>)>>
|
||||
]
|
||||
<OBJECT SOUTH-DOORWAY
|
||||
(ADJECTIVE SOUTH SLIDING)
|
||||
@@ -955,18 +941,18 @@ the east. Or, you could summon her by the intercom on your desk." CR>)>>
|
||||
<FSET ,WEST-TANK-AREA ,TOUCHBIT>
|
||||
<FSET ,SOUTH-TANK-AREA ,TOUCHBIT>
|
||||
<COND (<EQUAL? ,HERE ,NORTH-TANK-AREA>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You're at a temporary runway or gangplank that leads from the walkway
|
||||
to the entry hatch of the " D ,GLOBAL-SUB>
|
||||
<DDESC ". The hatch is " ,SUB-DOOR ".|">)
|
||||
to the " D ,SUB-DOOR " of the " D ,GLOBAL-SUB ". ">
|
||||
<CHECK-DOOR ,SUB-DOOR>)
|
||||
(<EQUAL? ,HERE ,WEST-TANK-AREA>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You're at a " D ,WORK-COUNTER ", next to the " D ,TANK-CONTROL-GEAR-1
|
||||
" used to operate the " D ,TEST-TANK ".|">)>
|
||||
%<XTELL "The test tank (which is now ">
|
||||
<TELL "The test tank (which is now ">
|
||||
<COND (,TEST-TANK-FULL <TELL "filled with ">)
|
||||
(T <TELL "empty of ">)>
|
||||
%<XTELL
|
||||
<TELL
|
||||
D ,GLOBAL-WATER ") is located in a large work room, just south of "
|
||||
D ,YOUR-LABORATORY ", with
|
||||
concrete-block walls on three sides and a high metal roof. Most of
|
||||
@@ -979,10 +965,10 @@ a steel gate forms the wall of the room." CR>)>>
|
||||
|
||||
"Other stuff"
|
||||
|
||||
<ROUTINE FRESH-AIR? (RM "AUX" P L T O)
|
||||
<ROUTINE FRESH-AIR? (RM "AUX" P L TBL O)
|
||||
#DECL ((RM O) OBJECT (P L) FIX)
|
||||
<COND (<AND ,DOME-AIR-BAD? ,SUB-IN-DOME ;<IN-DOME? .RM>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"It's impossible to tell that way whether the air is good." CR>
|
||||
<RTRUE>)>
|
||||
<SET P 0>
|
||||
@@ -990,47 +976,47 @@ a steel gate forms the wall of the room." CR>)>>
|
||||
<COND (<0? <SET P <NEXTP ,HERE .P>>>
|
||||
<RFALSE>)
|
||||
(<NOT <L? .P ,LOW-DIRECTION>>
|
||||
<SET T <GETPT ,HERE .P>>
|
||||
<SET L <PTSIZE .T>>
|
||||
<SET TBL <GETPT ,HERE .P>>
|
||||
<SET L <PTSIZE .TBL>>
|
||||
<COND (<AND <EQUAL? .L ,DEXIT> ;"Door EXIT"
|
||||
<FSET? <SET O <GETB .T ,DEXITOBJ>>
|
||||
<FSET? <SET O <GETB .TBL ,DEXITOBJ>>
|
||||
,OPENBIT>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"There's a pleasant breeze coming through the " D .O "." CR>
|
||||
<RETURN>)>)>>>
|
||||
|
||||
"unused corridor: COR-40000"
|
||||
[
|
||||
<GLOBAL COR-20000
|
||||
<TABLE P?NORTH P?SOUTH OUTSIDE-COMM-BLDG OUTSIDE-ADMIN-BLDG 0>>
|
||||
<PTABLE P?NORTH P?SOUTH OUTSIDE-COMM-BLDG OUTSIDE-ADMIN-BLDG 0>>
|
||||
<GLOBAL COR-10000
|
||||
<TABLE P?WEST P?EAST OUTSIDE-WORKSHOP OUTSIDE-COMM-BLDG 0>>
|
||||
<PTABLE P?WEST P?EAST OUTSIDE-WORKSHOP OUTSIDE-COMM-BLDG 0>>
|
||||
<GLOBAL COR-4000
|
||||
<TABLE P?NORTH P?SOUTH OUTSIDE-WORKSHOP OUTSIDE-DORM 0>>
|
||||
<PTABLE P?NORTH P?SOUTH OUTSIDE-WORKSHOP OUTSIDE-DORM 0>>
|
||||
<GLOBAL COR-2000
|
||||
<TABLE P?WEST P?EAST OUTSIDE-DORM FOOT-OF-RAMP OUTSIDE-ADMIN-BLDG 0>>
|
||||
<PTABLE P?WEST P?EAST OUTSIDE-DORM FOOT-OF-RAMP OUTSIDE-ADMIN-BLDG 0>>
|
||||
<GLOBAL COR-1000
|
||||
<TABLE P?NORTH P?SOUTH CENTER-OF-DOME FOOT-OF-RAMP AIRLOCK-WALL 0>>
|
||||
<PTABLE P?NORTH P?SOUTH CENTER-OF-DOME FOOT-OF-RAMP AIRLOCK-WALL 0>>
|
||||
<GLOBAL COR-400
|
||||
<TABLE P?NE P?SW OUTSIDE-COMM-BLDG CENTER-OF-DOME OUTSIDE-DORM 0>>
|
||||
<PTABLE P?NE P?SW OUTSIDE-COMM-BLDG CENTER-OF-DOME OUTSIDE-DORM 0>>
|
||||
<GLOBAL COR-200
|
||||
<TABLE P?NW P?SE
|
||||
<PTABLE P?NW P?SE
|
||||
OUTSIDE-WORKSHOP CENTER-OF-DOME OUTSIDE-ADMIN-BLDG 0>>
|
||||
<GLOBAL COR-64
|
||||
<TABLE P?NORTH P?SOUTH
|
||||
<PTABLE P?NORTH P?SOUTH
|
||||
NORTH-TANK-AREA WEST-TANK-AREA SOUTH-TANK-AREA 0>>
|
||||
<GLOBAL COR-32
|
||||
<TABLE P?NORTH P?SOUTH NORTH-WALL WEST-WALL 0>>
|
||||
<PTABLE P?NORTH P?SOUTH NORTH-WALL WEST-WALL 0>>
|
||||
<GLOBAL COR-16
|
||||
<TABLE P?NORTH P?SOUTH WEST-WALL SOUTH-WALL 0>>
|
||||
<PTABLE P?NORTH P?SOUTH WEST-WALL SOUTH-WALL 0>>
|
||||
<GLOBAL COR-8
|
||||
<TABLE P?WEST P?EAST WEST-WALL CENTER-OF-LAB EAST-WALL 0>>
|
||||
<PTABLE P?WEST P?EAST WEST-WALL CENTER-OF-LAB EAST-WALL 0>>
|
||||
<GLOBAL COR-4
|
||||
<TABLE P?NORTH P?SOUTH NORTH-WALL CENTER-OF-LAB SOUTH-WALL 0>>
|
||||
<PTABLE P?NORTH P?SOUTH NORTH-WALL CENTER-OF-LAB SOUTH-WALL 0>>
|
||||
<GLOBAL COR-2
|
||||
<TABLE P?NORTH P?SOUTH NORTH-WALL EAST-WALL 0>>
|
||||
<PTABLE P?NORTH P?SOUTH NORTH-WALL EAST-WALL 0>>
|
||||
<GLOBAL COR-1
|
||||
<TABLE P?NORTH P?SOUTH EAST-WALL SOUTH-WALL 0>>
|
||||
<PTABLE P?NORTH P?SOUTH EAST-WALL SOUTH-WALL 0>>
|
||||
]
|
||||
|
||||
"Routines to do looking down corridors"
|
||||
@@ -1096,7 +1082,7 @@ a steel gate forms the wall of the room." CR>)>>
|
||||
<COND (.FOUND <RETURN .FOUND>)>)>
|
||||
<SET CNT <+ .CNT 1>>>>
|
||||
|
||||
<ROUTINE COR-DIR (HERE THERE "AUX" COR RM (PAST 0) (CNT 2))
|
||||
;<ROUTINE COR-DIR (HERE THERE "AUX" COR RM (PAST 0) (CNT 2))
|
||||
<SET COR <GET-COR <BAND <GETP .THERE ,P?CORRIDOR>
|
||||
<GETP .HERE ,P?CORRIDOR>>>>
|
||||
<REPEAT ()
|
||||
@@ -1108,7 +1094,7 @@ a steel gate forms the wall of the room." CR>)>>
|
||||
<SET CNT <+ .CNT 1>>>
|
||||
<GET .COR .PAST>>
|
||||
|
||||
<ROUTINE GET-COR (NUM)
|
||||
;<ROUTINE GET-COR (NUM)
|
||||
#DECL ((NUM) FIX)
|
||||
<COND (<==? .NUM 1> ,COR-1)
|
||||
(<==? .NUM 2> ,COR-2)
|
||||
|
||||
64
points.mss
Normal file
64
points.mss
Normal file
@@ -0,0 +1,64 @@
|
||||
@style (spacing 1)
|
||||
@title (Points in "Seastalker")
|
||||
@pageheading (DRAFT)
|
||||
@majorheading (POINTS IN "SEASTALKER")
|
||||
|
||||
Copyright (C) 1984 Infocom, Inc. All rights reserved.
|
||||
|
||||
@begin (description)
|
||||
1@\TURN ON VIDEOSCOPE
|
||||
|
||||
1@\TUNE VIDEOSCOPE
|
||||
|
||||
1@\TAKE MICROPHONE
|
||||
|
||||
-3@\[open circuit breaker]
|
||||
|
||||
3@\CLOSE CIRCUIT BREAKER
|
||||
|
||||
5@\TAKE CATALYST CAPSULE
|
||||
|
||||
1@\ENTER SUBMARINE
|
||||
|
||||
5@\TURN ON REACTOR
|
||||
|
||||
5@\TURN ON ENGINE
|
||||
|
||||
5@\enter bay
|
||||
|
||||
5@\enter ocean
|
||||
|
||||
5@\TURN ON AUTOPILOT
|
||||
|
||||
5@\enter Aquadome
|
||||
|
||||
5@\OPEN AIR SUPPLY
|
||||
|
||||
5@\SCREW IN RELAY
|
||||
|
||||
5@\install Escape Unit
|
||||
|
||||
5@\ARREST GREENUP
|
||||
|
||||
5@\CAPTURE GREENUP
|
||||
|
||||
5@\FIX DART
|
||||
|
||||
5@\INSTALL DART
|
||||
|
||||
5@\TAKE BAZOOKA
|
||||
|
||||
5@\INSTALL BAZOOKA
|
||||
|
||||
1@\leave Aquadome
|
||||
|
||||
5@\find Snark
|
||||
|
||||
5@\AIM BAZOOKA AT SEACAT
|
||||
|
||||
5@\FIRE BAZOOKA
|
||||
|
||||
-----
|
||||
|
||||
100@\TOTAL
|
||||
@end (description)
|
||||
205
sample.mss
Normal file
205
sample.mss
Normal file
@@ -0,0 +1,205 @@
|
||||
@style (spacing 1)
|
||||
@title [SAMPLE TRANSCRIPT]
|
||||
@center (SAMPLE YOUNG-ADVENTURE TRANSCRIPT)
|
||||
@center (Comments to Stu Galley)
|
||||
|
||||
This transcript is not from SEASTALKER, but it shows most of
|
||||
the usual things that you can do while playing. It shows
|
||||
several simple puzzles and their solutions, and it should give
|
||||
you a good idea of how an interactive text adventure story works.
|
||||
(The comments inside brackets [] are not real parts of the transcript.
|
||||
They just explain what's going on.)
|
||||
|
||||
@begin (example)
|
||||
|
||||
You are lying on your bed, trying to do your homework and listen to the
|
||||
radio at the same time. Suddenly your telephone rings!
|
||||
|
||||
>ANSWER THE PHONE
|
||||
You pick up the receiver, but you can't hear who's calling because the
|
||||
radio is too loud.
|
||||
|
||||
>TURN OFF THE RADIO
|
||||
That's better! Now you can tell that it's your mother, calling
|
||||
from her office.
|
||||
|
||||
>MOTHER, WHAT'S HAPPENING?
|
||||
"Someone just asked me to go meet a visitor at the airport. Could you
|
||||
please drive here to pick me up?"
|
||||
|
||||
>MOTHER, RIDE THE BUS
|
||||
"That wouldn't get me there on time."
|
||||
|
||||
>BORROW A CAR
|
||||
You can't see any car here.
|
||||
[It can make a big difference if the program thinks you're not talking
|
||||
to someone.]
|
||||
|
||||
>MOTHER, BORROW A CAR
|
||||
"I tried that, but I just can't find one. Won't you please do this favor
|
||||
for me?" (Answer yes or no:) >YES
|
||||
|
||||
"Thank you, dear. I'll do a favor for you, soon. Goodbye!"
|
||||
|
||||
>MOTHER, GOODBYE
|
||||
If it isn't one thing, it's another -- as soon as you hang up the phone,
|
||||
the doorbell rings!
|
||||
|
||||
>GO TO THE FRON
|
||||
(I don't know the word "fron".)
|
||||
|
||||
>GO TO THE FRONT
|
||||
(I assume you mean the front door.)
|
||||
It's in the front hall. Now you're there too.
|
||||
(front hall)
|
||||
The front hall is bare, except for a coat rack and two doors. A door
|
||||
into the living room is on the east side, and the front door is on the
|
||||
south.
|
||||
|
||||
>OPEN IT
|
||||
When you open the front door, your friend Pat steps in and says, "Hi!
|
||||
What's up?"
|
||||
|
||||
>MY MOTHER NEEDS A RIDE
|
||||
(I don't know the word "needs".)
|
||||
[And that command doesn't begin with a verb or a question word.]
|
||||
|
||||
>COME WITH ME TO MY MOTHER'S OFFICE
|
||||
(Sorry, but English is not my native language. Please re-word that or
|
||||
try something else.)
|
||||
[The command looks okay, but the program doesn't recognize that form.]
|
||||
|
||||
>COME WITH ME
|
||||
"Okay, let's go!"
|
||||
|
||||
>FIND THE CAR
|
||||
It's usually parked in the garage.
|
||||
|
||||
>GO TO THE GARAGE
|
||||
Pat goes with you.
|
||||
(garage)
|
||||
The garage is just big enough for one car, two bikes, and a bunch of
|
||||
garden tools. There is a car-sized door on the east wall and a
|
||||
people-sized door on the west.
|
||||
The family car, a snazzy convertible, is parked here.
|
||||
|
||||
>GET IN
|
||||
(What do you want to get in?)
|
||||
|
||||
>CAR
|
||||
Pat goes with you.
|
||||
(car)
|
||||
You are now sitting in the driver's seat of the convertible, and Pat is
|
||||
sitting beside you.
|
||||
|
||||
>START THE CAR
|
||||
"Hey," says Pat, "why won't it start? Did you put the key in?"
|
||||
|
||||
>FIND THE KEY
|
||||
You should know where it is -- it's your house!
|
||||
|
||||
>PAT, WAIT HERE
|
||||
"Okay." Pat settles into the seat and gets comfortable.
|
||||
|
||||
>GO WEST
|
||||
You can't go that way while you're in the car.
|
||||
|
||||
>GET OUT
|
||||
(out of the car)
|
||||
(garage)
|
||||
The family car, a snazzy convertible, is parked here.
|
||||
|
||||
>GO WEST
|
||||
[If you're looking for something, you should probably go one room at a time.]
|
||||
(kitchen)
|
||||
The kitchen looks a lot like most kitchens: a stove, a sink, a fridge,
|
||||
shelves, and so on. The last of this morning's coffee is in a pot on the
|
||||
stove, and the faucet is dripping a little.
|
||||
|
||||
>DRINK THE COFFEE THEN FIX THE FAUCET
|
||||
You don't have time for that.
|
||||
You don't have time for that.
|
||||
[Sometimes the computer will seem to act foolish or repeat things. After all,
|
||||
it's only a machine!]
|
||||
|
||||
>LOOK AT THE SHELVES
|
||||
The shelves hold cookbooks, spices, knick-knacks, a cookie jar, and so on.
|
||||
|
||||
>LOOK IN COOKIE JAR
|
||||
It's full of cookies!
|
||||
|
||||
>TAKE A COOKIE AND A SPICE
|
||||
cookie: Taken.
|
||||
spice: Don't be silly!
|
||||
|
||||
>FIND THE KEY
|
||||
It's right here, on the shelf.
|
||||
|
||||
>LOOK AT THE SHELVES
|
||||
The shelves hold cookbooks, spices, knick-knacks, a cookie jar, and so on.
|
||||
A car key is also visible on the shelf.
|
||||
[Sometimes you have to try hard to find something in a crowded place.]
|
||||
|
||||
>TAKE KEY. WEST. PUT IT IN THE LOCK
|
||||
Taken.
|
||||
You can't go that way.
|
||||
[If one of your commands doesn't work, the program ignores the rest of
|
||||
your input line.]
|
||||
|
||||
>E
|
||||
(garage)
|
||||
The family car, a snazzy convertible, is parked here.
|
||||
|
||||
>IN
|
||||
(car)
|
||||
You are now sitting in the driver's seat of the convertible, and Pat is
|
||||
sitting beside you.
|
||||
|
||||
>INVENTORY
|
||||
You are holding:
|
||||
a car key
|
||||
a cookie
|
||||
|
||||
>PUT KEY IN LOCK
|
||||
Done.
|
||||
|
||||
>GIVE THE COOKIE TO PAT
|
||||
"Hey, thanks!"
|
||||
|
||||
>I
|
||||
You are empty-handed.
|
||||
[The short word for INVENTORY is I.]
|
||||
|
||||
>START THE CAR
|
||||
Vr-r-r-roooooom!
|
||||
|
||||
>BACK OUT
|
||||
(I don't understand the word "back" when you use it that way.)
|
||||
[The program recognizes the word "back" but not as a verb.]
|
||||
|
||||
>GO EAST
|
||||
Oops! You ran into the closed garage door. It's a good thing you
|
||||
weren't driving very fast!
|
||||
|
||||
>GET OUT
|
||||
(out of the car)
|
||||
(garage)
|
||||
The family car, a snazzy convertible, is parked here.
|
||||
|
||||
>OPEN DOOR
|
||||
(Which door do you mean, the car door, the car-sized door, or the
|
||||
people-sized door?)
|
||||
|
||||
>CAR-SI
|
||||
Okay, it's now wide open.
|
||||
[If you want to count letters, you can always stop at six.]
|
||||
|
||||
>IN
|
||||
(car)
|
||||
You are now sitting in the driver's seat of the convertible, and Pat is
|
||||
sitting beside you.
|
||||
|
||||
>E
|
||||
As the car backs out of the garage, we come to the end of this sample.
|
||||
Have a good trip!
|
||||
@end (example)
|
||||
137
screens.zil
Normal file
137
screens.zil
Normal file
@@ -0,0 +1,137 @@
|
||||
"The SPLIT & SCREEN operations allow you to divide the screen into two
|
||||
parts: one that behaves as usual and another that you update without
|
||||
scrolling.
|
||||
|
||||
<SPLIT INT>
|
||||
divides the screen into two windows: #1 occupies INT lines, preferably
|
||||
at the top of the screen, and #0 occupies the remainder of the screen.
|
||||
<SPLIT 0>
|
||||
restores the normal screen format.
|
||||
|
||||
<SCREEN INT>
|
||||
causes subsequent screen output to fall into window #INT.
|
||||
If INT is 1, the output cursor is moved to the upper left-hand corner;
|
||||
if INT is 0, the output cursor is restored to its previous position.
|
||||
You should be careful not to let window #1 scroll; output will be
|
||||
unpredictable.
|
||||
|
||||
Only the more popular micro-computers support these operations.
|
||||
To check whether the program is running on one, use this:"
|
||||
|
||||
<ROUTINE SPLIT-SCREEN? () <NOT <EQUAL? 0 <BAND 32 <GETB 0 1>>>>>
|
||||
|
||||
"Here's a fragment from Seastalker that splits the screen:"
|
||||
|
||||
<COND (<AND ,AUTOMATIC-SONAR ;"Did player SET SCOPE TO AUTO ?"
|
||||
<SPLIT-SCREEN?>>
|
||||
<SETG SCREEN-NOW-SPLIT T>
|
||||
<START-SONAR?>)>
|
||||
<TELL "The submarine glides smoothly out of the tank ...">
|
||||
|
||||
"And here are the routines that support it:"
|
||||
|
||||
<ROUTINE START-SONAR? ()
|
||||
<COND (,SCREEN-NOW-SPLIT
|
||||
<SPLIT <+ 3 <* 2 ,SONAR-RANGE>>>
|
||||
<SETG SONAR-DIR 0> ;"to ensure update"
|
||||
<I-SHOW-SONAR> ;"to update immediately"
|
||||
<ENABLE <QUEUE I-SHOW-SONAR -1>>)>>
|
||||
|
||||
<ROUTINE I-SHOW-SONAR ()
|
||||
<COND (<AND <FSET? ,SNARK ,INVISIBLE>
|
||||
<FSET? ,FREIGHTER ,INVISIBLE>
|
||||
<==? ,SONAR-LON ,SUB-LON>
|
||||
<==? ,SONAR-LAT ,SUB-LAT>
|
||||
<==? ,SONAR-DEP ,SUB-DEPTH>
|
||||
<==? ,SONAR-DIR ,JOYSTICK-DIR>>
|
||||
<COND (,DEBUG <TELL "[no sonar update]" CR>)>
|
||||
<RFALSE>)
|
||||
(T
|
||||
<SCREEN 1>
|
||||
<SHOW-SONARSCOPE>
|
||||
<SCREEN 0>
|
||||
<SETG SONAR-LON ,SUB-LON>
|
||||
<SETG SONAR-LAT ,SUB-LAT>
|
||||
<SETG SONAR-DEP ,SUB-DEPTH>
|
||||
<SETG SONAR-DIR ,JOYSTICK-DIR>
|
||||
<RFALSE>)>>
|
||||
|
||||
"In Seastalker, nothing happens unless the player 'turns on' the scope:"
|
||||
|
||||
<ROUTINE SONARSCOPE-F ("AUX" DEP N)
|
||||
<COND (<REMOTE-VERB?> <RFALSE>)
|
||||
(<VERB? LAMP-ON>
|
||||
<COND (<SPLIT-SCREEN?>
|
||||
<FSET ,SONARSCOPE ,ONBIT>
|
||||
<PERFORM ,V?SET ,SONARSCOPE ,AUTOMATIC>
|
||||
<RTRUE>)>)
|
||||
(<NOT <FSET? ,SONARSCOPE ,ONBIT>>
|
||||
<THIS-IS-IT ,SONARSCOPE>
|
||||
<TELL "It's not turned on!" CR>
|
||||
<RTRUE>)
|
||||
(<VERB? LAMP-OFF>
|
||||
<COND (,AUTOMATIC-SONAR
|
||||
<PERFORM ,V?SET ,SONARSCOPE ,MANUAL>
|
||||
<SETG AUTOMATIC-SONAR <>>
|
||||
<RTRUE>)>)
|
||||
(<VERB? ANALYZE EXAMINE READ LOOK-INSIDE LOOK-ON>
|
||||
<FIXED-FONT-ON>
|
||||
<TELL "(+=you, .=open water, *=obstacle)" CR>
|
||||
<SET N <* 2 ,SONAR-RANGE>>
|
||||
<REPEAT ()
|
||||
<TELL "--">
|
||||
<COND (<DLESS? N 0> <CRLF> <RETURN>)>>
|
||||
<COND (,SCREEN-NOW-SPLIT
|
||||
<FIXED-FONT-OFF>
|
||||
<ALREADY ,PLAYER "looking at it">)
|
||||
(T <SHOW-SONARSCOPE>)>
|
||||
<RTRUE>)
|
||||
(<AND <VERB? SET PUT MOVE-DIR> <DOBJ? SONARSCOPE>>
|
||||
<COND (<IOBJ? AUTOMATIC>
|
||||
<COND (,AUTOMATIC-SONAR
|
||||
<ALREADY ,SONARSCOPE "set to automatic">)
|
||||
(<SPLIT-SCREEN?>
|
||||
<SETG AUTOMATIC-SONAR T>
|
||||
<SETG SCREEN-NOW-SPLIT T>
|
||||
<START-SONAR?>
|
||||
<OKAY ,SONARSCOPE "set to automatic">)
|
||||
(T <NOT-AVAILABLE>)>)
|
||||
(<IOBJ? MANUAL>
|
||||
<COND (<NOT ,AUTOMATIC-SONAR>
|
||||
<ALREADY ,SONARSCOPE "set to manual">)
|
||||
(<SPLIT-SCREEN?>
|
||||
<SETG AUTOMATIC-SONAR <>>
|
||||
<SETG SCREEN-NOW-SPLIT <>>
|
||||
<SPLIT 0>
|
||||
<DISABLE <INT I-SHOW-SONAR>>
|
||||
<OKAY ,SONARSCOPE "set to manual">)
|
||||
(T <NOT-AVAILABLE>)>)>)>>
|
||||
|
||||
"And there are times when the scope must be 'off':"
|
||||
|
||||
<ROUTINE SONAR-TO-MANUAL ()
|
||||
<COND (<AND ,AUTOMATIC-SONAR <SPLIT-SCREEN?>>
|
||||
<SETG AUTOMATIC-SONAR <>>
|
||||
<SETG SCREEN-NOW-SPLIT <>>
|
||||
<SPLIT 0>
|
||||
<DISABLE <INT I-SHOW-SONAR>>
|
||||
<TELL "The sonarscope automatically sets itself to manual." CR>)>>
|
||||
|
||||
"Finally, there's a little extra work for SAVE & RESTORE:"
|
||||
|
||||
<ROUTINE V-SAVE ()
|
||||
<COND (,SCREEN-NOW-SPLIT <SPLIT 0>)>
|
||||
<COND (<SAVE>
|
||||
<TELL "Okay." CR>
|
||||
<V-FIRST-LOOK>)
|
||||
(T
|
||||
<TELL ,FAILED CR>)>
|
||||
<START-SONAR?>
|
||||
<RTRUE>>
|
||||
|
||||
<ROUTINE V-RESTORE ()
|
||||
<COND (,SCREEN-NOW-SPLIT <SPLIT 0>)>
|
||||
<COND (<NOT <RESTORE>>
|
||||
<TELL ,FAILED CR>
|
||||
<START-SONAR?>
|
||||
<RFALSE>)>>
|
||||
959
script.mss
Normal file
959
script.mss
Normal file
@@ -0,0 +1,959 @@
|
||||
@style (spacing 1)
|
||||
Copyright (c) 1984 Infocom, Inc. All rights reserved.
|
||||
|
||||
Welcome to junior-level interactive fiction from Infocom!
|
||||
|
||||
In this story, you're the hero or heroine, so we'll use your name!
|
||||
|
||||
Please type your first name.
|
||||
|
||||
> JIM@*
|
||||
Hello Jim! Now type your last name.
|
||||
|
||||
> LAWRENCE@*
|
||||
Is Jim Lawrence right? > YES@*
|
||||
Then let the story begin!
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SEASTALKER: JIM LAWRENCE AND THE ULTRAMARINE BIOCEPTOR@*
|
||||
Junior-level interactive fiction from Infocom@*
|
||||
Copyright (c) 1984 Infocom, Inc. All rights reserved.@*
|
||||
SEASTALKER is a trademark of Infocom, Inc.@*
|
||||
Revision number 8 / Serial number 840424@*
|
||||
|
||||
"Jim, snap out of it!" cries Tip Randall, bursting into your laboratory.
|
||||
"The alert signal is on!"@*
|
||||
As you look up from your top-secret plans for the SCIMITAR, a submarine
|
||||
for capturing marine life on the ocean floor and still being tested,
|
||||
you notice the alarm bell on the videophone ringing. Someone's trying
|
||||
to reach you over the private videophone network of Inventions Unlimited!
|
||||
|
||||
(lab center)@*
|
||||
You're at your workbench in the center of your laboratory, a small
|
||||
part of the Lawrence Research Lab in the town of Frobton. The videophone
|
||||
screen looms overhead, with its alarm bell ringing.@*
|
||||
Tip is here.@*
|
||||
A microphone is sitting on your workbench.
|
||||
|
||||
Okay, Jim, what do you want to do now?@*
|
||||
> ANSWER PHONE@*
|
||||
As the alarm bell stops ringing, a picture of a woman holding a microphone
|
||||
appears, and you can hear her voice from the speaker. But both sound
|
||||
and picture are fuzzy.@*
|
||||
(Your score just went up by 1 point!)
|
||||
|
||||
What next?
|
||||
|
||||
> FIX IT@*
|
||||
Ah, that's better! You recognize the woman as Commander Bly, who's
|
||||
in charge of the Undersea Research Station of Inventions Unlimited,
|
||||
called the Aquadome, just off the Atlantic coast. "Jim! Jim!" she's
|
||||
saying. "This is the Aquadome calling the Lawrence Research Lab! We
|
||||
have an urgent problem!"@*
|
||||
(Your score just went up by 1 point!)
|
||||
|
||||
What next?
|
||||
|
||||
> TAKE MIKE@*
|
||||
(Your score just went up by 1 point!)@*
|
||||
You're now holding the microphone.
|
||||
|
||||
What next?
|
||||
|
||||
> TURN IT ON@*
|
||||
Okay, the microphone is now on.
|
||||
|
||||
What next?
|
||||
|
||||
> HELLO@*
|
||||
"Jim! Jim! Our transparent dome enclosing the Undersea Research Station
|
||||
is being battered by a huge monster!"
|
||||
|
||||
What next?
|
||||
|
||||
> GOODBYE@*
|
||||
"I hope to see you soon, Jim."
|
||||
|
||||
Something's wrong! The picture vanished from your videophone screen,
|
||||
and the sound conked out!@*
|
||||
Tip says, "That's strange! Maybe you should use the Computestor."@*
|
||||
(Oh no! Your score just went down by 3 points!)
|
||||
|
||||
What next?
|
||||
|
||||
> DROP MIKE@*
|
||||
Okay, the microphone is now on the floor.
|
||||
|
||||
What next?
|
||||
|
||||
> GO TO BREAKER@*
|
||||
It's in the corridor.@*
|
||||
(corridor)@*
|
||||
You're in a corridor, with your laboratory to the west, a storage closet
|
||||
to the south, and Kemp's office to the east. An Electrical Panel fills
|
||||
most of the north wall.
|
||||
|
||||
Tip follows you into the corridor.@*
|
||||
(If you want a clue, find Infocard #3 in your SEASTALKER package. Read
|
||||
hidden clue #1 and put "Electrical Panel" in the blank space.)
|
||||
|
||||
What next?
|
||||
|
||||
> CLOSE IT@*
|
||||
Okay, the circuit breaker is now closed.@*
|
||||
(Your score just went up by 3 points!)
|
||||
|
||||
What next?
|
||||
|
||||
> GO TO CAPSULE@*
|
||||
It's in the west walkway.@*
|
||||
(west walkway)@*
|
||||
You're at a work counter, next to the control gear used to operate
|
||||
the test tank.
|
||||
The test tank (which is now empty of sea water) is located in a large
|
||||
work room, just south of your laboratory, with concrete-block walls
|
||||
on three sides and a high metal roof. Most of its floor is dug out
|
||||
and lined with steel, to form the huge tank used for developing and
|
||||
testing underwater gear and the pilot models of your submarine craft.
|
||||
There's a walkway around the tank on three sides -- north, west and
|
||||
south. On the east side, a steel gate forms the wall of the room.
|
||||
|
||||
Tip follows you into the west walkway.@*
|
||||
Sitting on the work counter is:@*
|
||||
a catalyst capsule
|
||||
|
||||
(Are you tired of seeing "What next?" Well, you won't see it any more.)
|
||||
|
||||
|
||||
> TAKE IT@*
|
||||
(Your score just went up by 5 points!)@*
|
||||
You're now holding the catalyst capsule.
|
||||
|
||||
|
||||
> GO TO REACTOR@*
|
||||
It's in the SCIMITAR.@*
|
||||
(SCIMITAR)@*
|
||||
You're in the pilot's seat of the SCIMITAR, its operating control panel
|
||||
before you.
|
||||
A wraparound viewport, both fore and aft, provides a view ahead and
|
||||
astern. You can also observe your surroundings with a sonarscope and
|
||||
a hydrophone listening device. There's a sonarphone for communication.
|
||||
You'll discover other features when you need them.@*
|
||||
Tip is sitting behind you, reading a magazine.@*
|
||||
The power reactor is off and open.@*
|
||||
(Your score just went up by 1 point!)
|
||||
|
||||
(If you want a clue, find Infocard #8 in your SEASTALKER package. Read
|
||||
hidden clue #1 and put "SCIMITAR" in the blank space.)
|
||||
|
||||
|
||||
> PUT CAPSULE IN IT@*
|
||||
Okay.
|
||||
|
||||
|
||||
> CLOSE REACTOR@*
|
||||
Okay, the reactor is now closed.
|
||||
|
||||
|
||||
> TURN IT ON@*
|
||||
Electrical systems now activated.@*
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> TAKE TOOL@*
|
||||
Tip gives it to you. You're now holding the Universal Tool.
|
||||
|
||||
|
||||
> OPEN ACCESS PANEL@*
|
||||
Okay, the access panel is now open.
|
||||
|
||||
|
||||
> IN@*
|
||||
(crawl space)@*
|
||||
The space is dimly illuminated by small work lights, but you can see
|
||||
machinery everywhere.
|
||||
|
||||
|
||||
> FIX REGULATOR CAREFULLY@*
|
||||
Fixed.
|
||||
|
||||
|
||||
> EXIT CAREFULLY@*
|
||||
(SCIMITAR)@*
|
||||
Tip is sitting behind you, reading a magazine.
|
||||
|
||||
|
||||
> FILL TANK@*
|
||||
The sea water quickly fills the tank, up to the level of the walkway.
|
||||
|
||||
|
||||
> OPEN GATE@*
|
||||
Opened (by remote control).
|
||||
|
||||
|
||||
> START ENGINE@*
|
||||
You can immediately hear the powerful thrum of the hydrojet turbine.@*
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> E@*
|
||||
Okay, the SCIMITAR is now facing toward the east. But it won't go that
|
||||
way unless you open the throttle.
|
||||
|
||||
|
||||
> CLOSE HATCH@*
|
||||
Okay, the entry hatch is now closed.
|
||||
|
||||
|
||||
> OPEN THROTTLE@*
|
||||
The SCIMITAR glides smoothly out of the tank onto the surface of Frobton
|
||||
Bay. You're heading east at 1 sea square per turn.@*
|
||||
(Your score just went up by 5 points!)@*
|
||||
(This might be a good time to use the command: SAVE.)
|
||||
|
||||
|
||||
> D@*
|
||||
The SCIMITAR noses downward, and sea water begins to wash over your
|
||||
forward viewport. You're now diving at a speed of 5 meters per sea
|
||||
square.@*
|
||||
The sea water darkens to a deeper green as you descend from the sunlit
|
||||
surface. Engine and propeller noises come over the hydrophone loudspeaker.@*
|
||||
Suddenly a loud alarm bell begins to ring! The depth finder warning
|
||||
light has begun to glow red.
|
||||
|
||||
|
||||
> WAIT@*
|
||||
(I assume you mean: wait 10 turns.)@*
|
||||
Time passes...@*
|
||||
The SCIMITAR quickly levels out at the desired depth of 5 meters. It's
|
||||
still moving toward the east at a speed of 1 sea square per turn.@*
|
||||
The depth finder warning light changes to orange, and the alarm bell
|
||||
continues to sound.@*
|
||||
The depth finder warning light fades to dark again, and the alarm bell
|
||||
ceases.@*
|
||||
The sonarscope shows an obstacle ahead! Unless you change course, you
|
||||
will crash the SCIMITAR!
|
||||
Tip says, "Hey, Jim, maybe you should look at the sonarscope."
|
||||
|
||||
|
||||
> NE@*
|
||||
Okay, the SCIMITAR is now moving toward the northeast.@*
|
||||
The sonarscope warning light goes out.
|
||||
|
||||
|
||||
> WAIT@*
|
||||
(I assume you mean: wait 10 turns.)@*
|
||||
Time passes...@*
|
||||
Suddenly a loud alarm bell begins to ring! The depth finder warning
|
||||
light has begun to glow orange.
|
||||
Do you want to keep waiting? > YES@*
|
||||
The depth finder warning light fades to dark again, and the alarm bell
|
||||
ceases.
|
||||
|
||||
|
||||
> WAIT@*
|
||||
(I assume you mean: wait 10 turns.)@*
|
||||
Time passes...@*
|
||||
The sonarscope shows an obstacle ahead! Unless you change course, you
|
||||
will crash the SCIMITAR!
|
||||
Tip says, "Hey, Jim, maybe you should look at the sonarscope."
|
||||
Do you want to keep waiting? > NO@*
|
||||
|
||||
|
||||
> N@*
|
||||
Okay, the SCIMITAR is now moving toward the north, straight toward
|
||||
the opening in the seawall.
|
||||
The sonarscope warning light goes out.
|
||||
|
||||
|
||||
> WAIT@*
|
||||
(I assume you mean: wait 10 turns.)@*
|
||||
Time passes...@*
|
||||
The sonarscope warning light is flashing yellow! A ship is approaching!
|
||||
Tip says, "Hey, Jim, maybe you should look at the sonarscope."@*
|
||||
The yellow light on the sonarscope continues to glow.
|
||||
Do you want to keep waiting? > NO@*
|
||||
|
||||
|
||||
> LOOK AT SONAR@*
|
||||
The yellow light on the sonarscope continues to glow.@*
|
||||
Sonar shows the object reaching from the surface of the bay downward
|
||||
to a depth of 10 meters. This must be the keel of a freighter entering
|
||||
the harbor. It's moving toward the waterfront at the rate of 1 sea
|
||||
square per turn.
|
||||
|
||||
@begin (example)
|
||||
(+=you, .=open water, *=obstacle, @@=ship)
|
||||
----------------------
|
||||
SONAR:YELLOW @@ = SHIP
|
||||
. . . . . . . . . . .
|
||||
. . . . . @@ . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . * * . . !
|
||||
. . . . . + . . * * . + (hdg:N)
|
||||
. . . . . . . . . * *
|
||||
. . . . . . . . . . *
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . *
|
||||
. . . . . . . . . . *
|
||||
----------------------
|
||||
@end (example)
|
||||
The yellow light on the sonarscope continues to glow.
|
||||
|
||||
> NE@*
|
||||
Okay, the SCIMITAR is now moving toward the northeast, straight toward
|
||||
the opening in the seawall.@*
|
||||
You have just passed through the opening in the sea wall across the
|
||||
mouth of Frobton Bay, and you're now in the open ocean.@*
|
||||
(Your score just went up by 5 points!)@*
|
||||
(This might be a good time to use the command: SAVE.)
|
||||
|
||||
|
||||
> TURN ON AUTOPILOT@*
|
||||
Okay, your trip to the Aquadome will take 60 turns at your current
|
||||
speed. But you can set the throttle to a different speed, if you want.@*
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> WAIT 60 TURNS@*
|
||||
Time passes...
|
||||
|
||||
(If you want a clue, find Infocard #2 in your SEASTALKER package. Read
|
||||
hidden clue #3 and put "magazine" in the blank space.)
|
||||
Do you want to keep waiting? > YES@*
|
||||
|
||||
The ocean has been getting darker as you dive toward the Aquadome,
|
||||
turning from blue-green to dark green to a dull gray-green. It's becoming
|
||||
duskier and murkier with every minute.
|
||||
|
||||
A yellow cone of light now illumines the water ahead. The SCIMITAR's
|
||||
brass search light was automatically switched on by an electronic eye,
|
||||
now that you're too deep for the sun to light the water.
|
||||
|
||||
Colorful sea life swims through the brass search light beam: a playful
|
||||
dolphin, a school of herring... Oh, oh! Here comes a hammerhead shark.
|
||||
And now a huge manta ray is gracefully gliding and flapping toward
|
||||
you.
|
||||
|
||||
A crooning noise comes over the hydrophone loudspeaker, punctuated
|
||||
by sighs and moans and a few weird whistles.
|
||||
|
||||
"There's a blip on the sonarscope at three o'clock!" yells Tip. "Aim
|
||||
the brass search light to starboard, Jim!"
|
||||
Do you want to keep waiting? > YES@*
|
||||
The amazing Aquadome looms ahead. Its bright lights suffuse the sea
|
||||
water around it with a glowing radiance.
|
||||
The sonarphone is ringing.
|
||||
Do you want to keep waiting? > YES@*
|
||||
|
||||
The SCIMITAR slows to a gentle stop, with engine idling and the joystick
|
||||
pointing north. The autopilot has brought you to the docking tank on
|
||||
the south side of the Aquadome. It also turned off the depth finder
|
||||
for you.
|
||||
At Commander Bly's order, the docking tank gate slides open, but you
|
||||
could have done it by remote control, just as you did the test tank
|
||||
gate.
|
||||
The docking tank is filling up with tons of sea water.@*
|
||||
The docking tank lies north. You can enter it by opening the throttle.
|
||||
The bottom of the docking tank has an adjustable plastic cradle, which
|
||||
adjusts to the keel of any submarine.
|
||||
|
||||
|
||||
> OPEN THROTTLE@*
|
||||
You feel the seat press against you, and the hydrojet gets louder.
|
||||
You're now travelling at a speed of 1 sea square per turn.
|
||||
|
||||
The SCIMITAR is now resting in the cradle in the rectangular docking
|
||||
tank. The docking tank gate closes, and so does the throttle.
|
||||
Through the viewport you can see the water level going down inside
|
||||
the docking tank. The docking crew is pumping out the sea water. This
|
||||
will take 1 turn.
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> I@*
|
||||
You're holding:@*
|
||||
a Universal Tool@*
|
||||
a Logbook
|
||||
|
||||
The docking tank is now clear of sea water and filled with air at sea-level
|
||||
pressure. The engine shuts off.
|
||||
The roof of the docking tank is sliding open, and the SCIMITAR is in
|
||||
dry dock.
|
||||
A ramp swings down from the top of the docking tank's north wall to
|
||||
your entry hatch.
|
||||
|
||||
|
||||
> OPEN IT@*
|
||||
Okay, the entry hatch is now open.
|
||||
|
||||
|
||||
> GO TO BLY@*
|
||||
(If you want a clue, find Infocard #5 in your SEASTALKER package. Read
|
||||
hidden clue #3 and put "Emergency Oxygen Gear" in the blank space.)
|
||||
|
||||
She's in the reception area.@*
|
||||
(reception area)@*
|
||||
You're now face-to-face with Zoe Bly and the Aquadome crew. They are
|
||||
wearing badges which show the air quality in the Aquadome.
|
||||
|
||||
Tip follows you into the reception area.
|
||||
The five Aquadome crew members are here.
|
||||
Commander Bly is here.@*
|
||||
Commander Bly says, "Welcome to the Aquadome, Jim! You're a sight for
|
||||
sore eyes! We've been anxiously awaiting your arrival!"
|
||||
|
||||
|
||||
> N@*
|
||||
(dome center)@*
|
||||
You're in the very center of the Aquadome, where the Air Supply System
|
||||
rises like a tower, almost to the top of the dome itself.
|
||||
|
||||
Tip follows you into the dome center.
|
||||
|
||||
|
||||
> OPEN DOOR WITH TOOL@*
|
||||
Okay, the access door is now open.
|
||||
You notice an empty space in the complicated assembly facing you. Something
|
||||
has been unscrewed from this space!
|
||||
Something is lying at the base of the cylinder, just inside the housing.
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> TAKE IT@*
|
||||
You're now holding the electrolyte relay.
|
||||
|
||||
|
||||
> SCREW IT IN@*
|
||||
It fits!
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> GO TO STORAGE ROOM@*
|
||||
(storage room)@*
|
||||
The room is crowded with supplies and equipment. If you want to find
|
||||
something, you'll have to search for it.
|
||||
|
||||
Tip follows you into the storage room.
|
||||
|
||||
|
||||
> TAKE BAZOOKA@*
|
||||
(Your score just went up by 5 points!)@*
|
||||
You're now holding the bazooka.
|
||||
|
||||
|
||||
> GO TO LAB@*
|
||||
(Aquadome laboratory)@*
|
||||
The Aquadome laboratory is equipped for all sorts of marine biochemical
|
||||
research. The room is crowded with supplies and equipment. If you want
|
||||
to find something, you'll have to search for it.
|
||||
|
||||
Tip follows you into the Aquadome laboratory.
|
||||
Commander Bly comes too.
|
||||
Doc Horvak comes too.
|
||||
|
||||
Doc Horvak says:
|
||||
"Jim, right after the Snark ceased its attack, I detected a high concentration
|
||||
of AH molecules in the sea water around the Aquadome. Have you ever
|
||||
heard of such a phenomenon before?" > YES@*
|
||||
Tip says, "Wait a minute! Wasn't there something about AH molecules
|
||||
in that magazine? Shall I get it and see?" > NO@*
|
||||
|
||||
|
||||
> DOC, FIX DART@*
|
||||
This will take 5 turns.
|
||||
|
||||
|
||||
> MOUNT BAZOOKA ON SUB@*
|
||||
"Good idea! That should stop the Snark! It could disable an enemy sub,
|
||||
too! Shall I do it?" > YES@*
|
||||
(Your score just went up by 5 points!)@*
|
||||
"Are you ready to take off now, Jim?" Zoe Bly asks anxiously. > NO@*
|
||||
|
||||
|
||||
> GO TO STORAGE ROOM@*
|
||||
(storage room)@*
|
||||
|
||||
Tip follows you into the storage room.
|
||||
|
||||
|
||||
> CALL BILL@*
|
||||
"Right here, Jim," he replies. "What would you like me to do?"
|
||||
|
||||
|
||||
> BILL, INSTALL UNIT IN SUB@*
|
||||
"Okay, we'll install it."@*
|
||||
(Your score just went up by 5 points!)@*
|
||||
Doc Horvak now comes rushing back, holding an aquatic dart gun. "Okay,
|
||||
Jim, I've made a special 'trank' to use against an AH-type organism!
|
||||
It's loaded in the dart gun. What shall I do with it?"
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> DOC, MOUNT IT ON CLAW@*
|
||||
(Your score just went up by 5 points!)@*
|
||||
Doc Horvak promptly mounts the dart gun on an extensor claw.@*
|
||||
"Are you ready to take off now, Jim?" Zoe Bly asks anxiously. > NO@*
|
||||
|
||||
|
||||
> GO TO TANK@*
|
||||
(docking tank)@*
|
||||
You're now in the docking tank, at the foot of the ramp.
|
||||
|
||||
Tip follows you into the docking tank.
|
||||
|
||||
Suddenly Commander Bly comes over and says, "Jim, can we discuss a
|
||||
private matter now?" > NO@*
|
||||
|
||||
|
||||
> WAIT FOR BILL@*
|
||||
Time passes...
|
||||
|
||||
Suddenly Mick Antrim appears and says, "I'm going to check out your
|
||||
new SCIMITAR, Jim!" Mick turns and climbs aboard the SCIMITAR.
|
||||
Do you want to keep waiting? > YES@*
|
||||
|
||||
Suddenly Bill Greenup and Amy Lowell report back from the SCIMITAR.
|
||||
"That Emergency Survival Unit is in place, Jim," says Amy. "Bill installed
|
||||
the part under your pilot's seat, and I installed the rest."@*
|
||||
Bill Greenup, for whom you're waiting, has arrived.
|
||||
|
||||
|
||||
> IN@*
|
||||
(SCIMITAR)@*
|
||||
Tip is sitting behind you, checking the instruments.@*
|
||||
The Emergency Survival Unit contains:@*
|
||||
a hypodermic syringe@*
|
||||
There's a magazine here.
|
||||
|
||||
(If you want a clue, find Infocard #5 in your SEASTALKER package. Read
|
||||
hidden clue #1 and put "Emergency Survival Unit" in the blank space.)
|
||||
|
||||
|
||||
> TAKE SYRINGE@*
|
||||
You're now holding the hypodermic syringe.
|
||||
|
||||
|
||||
> GO TO DOC@*
|
||||
He's in the storage room.@*
|
||||
(storage room)
|
||||
|
||||
Tip follows you into the storage room.
|
||||
Doc Horvak is here.
|
||||
|
||||
|
||||
> DOC, CHECK SYRINGE@*
|
||||
He heads for the Aquadome laboratory. It will take Doc Horvak 4 turns
|
||||
to analyze the chemical contents of the hypodermic syringe.
|
||||
|
||||
|
||||
> GO TO OFFICE@*
|
||||
(Aquadome office)@*
|
||||
The Aquadome office is small but tidy, with a single door leading out
|
||||
and a good view of the ocean through the window.
|
||||
|
||||
Tip follows you into the Aquadome office and begins playing with the
|
||||
station monitor.
|
||||
|
||||
Suddenly Commander Bly comes over and repeats, "Jim, can we discuss
|
||||
a private matter now?" > NO@*
|
||||
|
||||
|
||||
> WAIT FOR DOC@*
|
||||
Time passes...
|
||||
|
||||
Doc Horvak's face is grim and pale as he reports the result of his
|
||||
analysis.
|
||||
"Jim, the hypodermic syringe contains a lot of arsenic, and some arsenic
|
||||
is missing from my chemical supply shelf! If you'd been jabbed with
|
||||
that hypodermic syringe, you'd be dead!"
|
||||
|
||||
Tip turns to you with a gasp. "Holy smoke, Jim! That's exactly what
|
||||
would have happened once you warmed up the pilot's seat enough to trigger
|
||||
the sensor relay!"@*
|
||||
Doc Horvak, for whom you're waiting, has arrived.
|
||||
|
||||
|
||||
> ARREST BILL@*
|
||||
Greenup turns and runs away. Then a crew member reports seeing Greenup
|
||||
running behind the dormitory. "He's going to try to escape in the SCIMITAR,
|
||||
Jim!"
|
||||
Commander Bly adds: "We can see him on the station monitor! The docking
|
||||
tank control panel is here, too!"
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> LOOK AT MONITOR@*
|
||||
The monitor screen shows Greenup's head just coming into view above
|
||||
the top of the docking tank's west wall, as he climbs the outside ladder.
|
||||
Once he reaches the top of this wall, he will come down the inside
|
||||
ladder to the SCIMITAR.
|
||||
|
||||
|
||||
> CLOSE ROOF@*
|
||||
Closed.@*
|
||||
Greenup can't get into the SCIMITAR and escape any more. Knowing he's
|
||||
trapped, Bill Greenup gives up without a fight. Commander Bly orders
|
||||
him handcuffed to a pipe in the galley.
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> OPEN ROOF@*
|
||||
Opened.
|
||||
|
||||
|
||||
> OUT@*
|
||||
As you start to leave, you notice an oddly shaped metallic object lying
|
||||
under Zoe's desk. It must be the special Fram Bolt Wrench!
|
||||
|
||||
|
||||
> GO TO STORAGE ROOM@*
|
||||
(storage room)
|
||||
|
||||
Tip follows you into the storage room.
|
||||
|
||||
|
||||
> TIP, PUT FINE GRID IN SUB@*
|
||||
"If the Snark stays near the sea floor, Jim, it may churn up silt.
|
||||
Even with our brass search light on, we might have trouble aiming a
|
||||
weapon. Wouldn't it be easier if we could spot its exact position by
|
||||
sonar?" > YES@*
|
||||
"Jim, our sonarscope shows each sea square as 500 meters across. A
|
||||
blip indicates the APPROXIMATE position of an object. That's not good
|
||||
enough to hit the broad side of a barn! Let me install a fine grid
|
||||
on the sonarscope that'll show a blip's position to within 5 meters,
|
||||
okay?" > YES@*
|
||||
"Jim, I checked and found a fine grid that'll fit our sonarscope. I
|
||||
can install it quickly! I'll have someone install a fine throttle control,
|
||||
too, for tight maneuvering. It has the same 3 settings, but for small
|
||||
sea squares -- 0, 5, 10, or 15 meters per turn."
|
||||
|
||||
|
||||
> GO TO TANK@*
|
||||
(docking tank)@*
|
||||
Amy Lowell is here.
|
||||
|
||||
|
||||
> AMY, LEAVE@*
|
||||
"Okay."
|
||||
|
||||
Suddenly Mick appears and says, "I thought maybe you had a problem
|
||||
on the way here, Jim, so I wanted to check on it. Everything seems
|
||||
to be okay now."@*
|
||||
Tip flashes you a meaningful glance. Mick Antrim's reaction may be
|
||||
all you need to prove he's NOT the traitor. But you'll have to decide
|
||||
for yourself.
|
||||
|
||||
|
||||
> MICK, LEAVE@*
|
||||
"Okay."
|
||||
|
||||
|
||||
> CLOSE ROOF@*
|
||||
Closed.@*
|
||||
Tip says, "All set, Jim! The fine grid is installed on both the sonarscope
|
||||
and the throttle -- and so are the dart gun and the bazooka! Let's
|
||||
shove off and find the Snark!"
|
||||
|
||||
|
||||
> IN@*
|
||||
(SCIMITAR)@*
|
||||
Tip is sitting behind you, checking the instruments.@*
|
||||
There's a magazine here.@*
|
||||
As you and Tip take your places in your seats, and close the hatch,
|
||||
the docking tank roof is also sliding shut.
|
||||
|
||||
|
||||
> FILL TANK@*
|
||||
This will take 1 turn.
|
||||
|
||||
|
||||
> I@*
|
||||
You're holding:@*
|
||||
a Universal Tool@*
|
||||
a Logbook
|
||||
|
||||
The docking tank is now filled with sea water.
|
||||
The adjustable cradle then releases the SCIMITAR's keel from its grip.
|
||||
|
||||
|
||||
> OPEN GATE@*
|
||||
Opened (by remote control).
|
||||
|
||||
|
||||
> START ENGINE@*
|
||||
Your revolutionary craft thrums with power, matching your own excited
|
||||
heartbeat!
|
||||
|
||||
|
||||
> S@*
|
||||
Okay, the SCIMITAR is now facing toward the south. But it won't go
|
||||
that way unless you open the throttle.
|
||||
|
||||
|
||||
> SET THROTTLE FAST@*
|
||||
The SCIMITAR glides smoothly out of the tank into the ocean. You're
|
||||
heading south at 3 sea squares per turn.@*
|
||||
(Your score just went up by 1 point!)@*
|
||||
(This might be a good time to use the command: SAVE.)
|
||||
|
||||
|
||||
> SE@*
|
||||
Okay, the SCIMITAR is now moving toward the southeast.
|
||||
|
||||
|
||||
> WAIT@*
|
||||
(I assume you mean: wait 10 turns.)@*
|
||||
Time passes...@*
|
||||
"Holy halibut!" cries Tip. "There's a big cloud of silt ahead in the
|
||||
brass search light. It's out of sonar range. This could be the Snark!
|
||||
Want to hold course till we find out?" > YES@*
|
||||
However you steer, the cloud holds steady. You may be on a collision
|
||||
course with the behemoth that almost wrecked the Aquadome!@*
|
||||
Your brass search light reveals TWO objects dead ahead!
|
||||
One is the Snark. To the left of the tentacled creature -- YOUR left
|
||||
-- you can make out a vehicle crawling along the ocean floor.
|
||||
Tip says, "That's one of your Sea Cats!"@*
|
||||
A voice crackles over the sonarphone: "This is Doctor Jerome Thorpe,
|
||||
Jim! Do you read me?" > YES@*
|
||||
Your answer brings a rasping laugh. "Of course you read me, or you
|
||||
wouldn't be answering! Your lab assistant, Sharon Kemp, is seated behind
|
||||
me. She'll enjoy what's about to happen as much as I will. Would you
|
||||
like to hear what's in store for you?" > YES@*
|
||||
"I'll blast your sub with a rocket! Then I'll guide my synthetic monster
|
||||
to the Aquadome to destroy it! Can you guess what sealed your doom,
|
||||
Jim?" > YES@*
|
||||
"I'll tell you anyhow. I want to own the valuable ore deposit near
|
||||
the Aquadome! Sharon and I consider it a wedding present from you and
|
||||
your dad ..."@*
|
||||
Thorpe breaks off with a sudden gulp, followed by some noise and then
|
||||
a soft female voice:
|
||||
"This is Sharon Kemp, Jim! Do you read me?" > YES@*
|
||||
"Thank goodness! I conked Thorpe with a wrench! He fell onto the microphone,
|
||||
and he's too heavy for me to move!"
|
||||
(Your score just went up by 5 points!)
|
||||
|
||||
|
||||
> E@*
|
||||
Okay, the SCIMITAR is now moving toward the east.
|
||||
|
||||
|
||||
> SET SONAR TO AUTO@*
|
||||
@begin (example)
|
||||
@@@@=SEA CAT, Oooo=MONSTER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . + . . . . . +-- (hdg:E)
|
||||
. . . . O @@ . . . . .
|
||||
. . . . . o @@ . . . .
|
||||
. . . . . . o . . . .
|
||||
. . . . . . . o . . .
|
||||
. . . . . . . . . . .
|
||||
----------------------
|
||||
@end (example)
|
||||
Okay, the sonarscope is now set to automatic.
|
||||
@begin (example)
|
||||
@@@@=SEA CAT, Oooo=MONSTER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
O @@ . . . + . . . . . +-- (hdg:E)
|
||||
. o @@ . . . . . . . .
|
||||
. . o . . . . . . . .
|
||||
. . . o . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
----------------------
|
||||
@end (example)
|
||||
|
||||
> NW@*
|
||||
Okay, the SCIMITAR is now moving toward the northwest.
|
||||
@begin (example)
|
||||
@@@@=SEA CAT, Oooo=MONSTER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . . \
|
||||
. . . . . + . . . . . + (hdg:NW)
|
||||
. . . . . . . . . . .
|
||||
. . O @@ . . . . . . .
|
||||
. . . o @@ . . . . . .
|
||||
. . . . o . . . . . .
|
||||
. . . . . o . . . . .
|
||||
----------------------
|
||||
@end (example)
|
||||
|
||||
|
||||
> STOP@*
|
||||
(I assume you mean: close the throttle.)@*
|
||||
The SCIMITAR slows to a halt.
|
||||
@begin (example)
|
||||
@@@@=SEA CAT, Oooo=MONSTER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . . \
|
||||
. . . . . + . . . . . + (hdg:NW)
|
||||
. O @@ . . . . . . . .
|
||||
. . o @@ . . . . . . .
|
||||
. . . o . . . . . . .
|
||||
. . . . o . . . . . .
|
||||
. . . . . . . . . . .
|
||||
----------------------
|
||||
@end (example)
|
||||
|
||||
|
||||
> WAIT@*
|
||||
(I assume you mean: wait 10 turns.)@*
|
||||
Time passes...
|
||||
@begin (example)
|
||||
@@@@=SEA CAT, Oooo=MONSTER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . . \
|
||||
O @@ . . . + . . . . . + (hdg:NW)
|
||||
. o @@ . . . . . . . .
|
||||
. . o . . . . . . . .
|
||||
. . . o . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
----------------------
|
||||
|
||||
@@@@=SEA CAT, Oooo=MONSTER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
@@ . . . . . . . . . . \
|
||||
o @@ . . . + . . . . . + (hdg:NW)
|
||||
. o . . . . . . . . .
|
||||
. . o . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
----------------------
|
||||
|
||||
@@@@=SEA CAT, Oooo=MONSTER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
@@ . . . . . . . . . . \
|
||||
o . . . . + . . . . . + (hdg:NW)
|
||||
. o . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
----------------------
|
||||
|
||||
@@@@=SEA CAT, Oooo=MONSTER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . . \
|
||||
o . . . . + . . . . . + (hdg:NW)
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
----------------------
|
||||
@end (example)
|
||||
|
||||
Suddenly the sonarphone gets louder.
|
||||
Tip says, "That could mean Thorpe is awake and has moved away from
|
||||
the microphone!"
|
||||
You hear a sharp cry of pain from Sharon, then Thorpe yelling: "That'll
|
||||
take care of you, my little double-crosser!"@*
|
||||
Thorpe speaks into the microphone: "Now then, Jim Lawrence, I'm stopping
|
||||
my Sea Cat so I can blow you into Kingdom Come as soon as you're in
|
||||
my sights!"@*
|
||||
(If you want a clue, find Infocard #4 in your SEASTALKER package. Read
|
||||
hidden clue #2 and put "Sea Cat" in the blank space.)
|
||||
@begin (example)
|
||||
@@@@=SEA CAT, Oooo=MONSTER, #=DANGER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . . \
|
||||
. . . . . + . . . . . + (hdg:NW)
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
----------------------
|
||||
@end (example)
|
||||
|
||||
> AIM BAZOOKA AT THORPE@*
|
||||
(Your score just went up by 5 points!)@*
|
||||
Aimed.
|
||||
@begin (example)
|
||||
@@@@=SEA CAT, Oooo=MONSTER, #=DANGER
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . . \
|
||||
. . . . . + . . . . . + (hdg:NW)
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
. . . . . . . . . . .
|
||||
----------------------
|
||||
@end (example)
|
||||
|
||||
|
||||
> FIRE BAZOOKA@*
|
||||
(Your score just went up by 5 points!)@*
|
||||
Great! You and Tip can see the bazooka slam into the Sea Cat's power
|
||||
pod!
|
||||
"Hooray! That crippled the Sea Cat for keeps!" Tip cheers.@*
|
||||
You hear a voice come over the sonarphone: "Jim, this is Sharon! Do
|
||||
you read me?" > YES@*
|
||||
"Something hit us, and Thorpe's out cold! He cracked his skull on the
|
||||
bulkhead! I was waking up when I saw it all happen. I'll tie him up
|
||||
so he can't cause any trouble.
|
||||
The Sea Cat's regular engine is kaput, but he installed a backup engine
|
||||
for emergencies. And the sonar control's still working. If you like,
|
||||
I'll guide the monster to its cavern."
|
||||
|
||||
CONGRATULATIONS, JIM! YOU'VE COMPLETED YOUR MISSION!!
|
||||
|
||||
Your score is 100 points out of 100, in 194 turns.
|
||||
This score gives you the rank of a famous adventurer.
|
||||
56
seastalker
Normal file
56
seastalker
Normal file
@@ -0,0 +1,56 @@
|
||||
.c;Seastalker -- a perfect adventure
|
||||
.s
|
||||
.p 2,0
|
||||
^*Whoever believes that text adventures are boring doesn't know
|
||||
"Seastalker". This deep-sea adventure for the C64, Atari, Apple II, and
|
||||
IBM-PC amazes with its variety and extras, that provide for atmosphere:
|
||||
from a sticker to a logbook and "Infocard-decoder".\*
|
||||
.s
|
||||
Many dangers lie in waiting in the unfathomable deeps of the sea. The
|
||||
"Aquadome", the first underwater research station, is threatened by a
|
||||
catastrophe. As the upright, young hero (no false modesty) you swing into
|
||||
the submarine to help. Indeed you were ready and waiting for a wicked
|
||||
sea monster.
|
||||
What sounds to you like the plot of a wild action game is the fanciful
|
||||
story to "Seastalker", one of the newest adventure games of an American
|
||||
software house, that is famous for its cunning text-adventures, that show
|
||||
themselves in two ways: First, the programs are positively uncannily
|
||||
"intelligent", they understand complicated sentences and reach an almost
|
||||
literary niveau. Second, one gets a great quantity of accessories for
|
||||
one's money.
|
||||
Also with "Seastalker" the extras aren't spared: Along with the disk and the
|
||||
usual loading directions one gets a logbook, just like the original, out of
|
||||
which detailed instructions are revealed, a sea chart, a sticker and a whole
|
||||
pack of "Infocards" with their decoder.
|
||||
On these Infocards are hidden hints, that are only able to be seen when they
|
||||
are shoved through the groove in the decoder. A frustrated adventurer gets
|
||||
discrete tips this way, that he could not see by "accident", only when he
|
||||
really wants to. The logbook gives one a real seaman's atmosphere. Along
|
||||
with a rousing letter from the president of the USA, it gives a hint of the
|
||||
way to use the technical equipment and how to communicate with the program.
|
||||
The adventure begins with you in the research laboratory, working
|
||||
industriously away. Suddenly the alarms go off. If you are lively, you
|
||||
can get radio contact with the Aquadome. A woman appears in the adventure
|
||||
on a screen and implores you for help, because the underwater station is
|
||||
being threatened by a horrible monster, that so far is not more closely
|
||||
described. Luckily, your submarine "Scimitar" stands ready, with it you
|
||||
can rush to the Aquadome to help.
|
||||
.s
|
||||
.c;Literary niveau
|
||||
"Seastalker" is not an exaggeratedly difficult text-adventure. In the USA it is
|
||||
suggested for children from nine years up. The program is in very clean
|
||||
English and a knowledge of the correspondence style is given in advance,
|
||||
this allows it to address in our degree of longitude a previously matured public.
|
||||
This pretentious game is designed with "speech intelligence". Where other
|
||||
adventures accept only "Get food", "Seastalker" swallows extensive sentences
|
||||
like "Unlock the front door with key and go north". One can even talk with
|
||||
other people in the adventure.
|
||||
"Seastalker" is a very worthily made text-adventure for players with a progressive
|
||||
knowledge of English. Although it is relatively easy, some beginners have
|
||||
great trouble to succesfully complete the mission. The program comes on a
|
||||
diskette and costs about 100 Marks.
|
||||
.s
|
||||
[caption at top] Naked text fills the screen
|
||||
[caption at bottom] The inclusions to "Seastalker" are not only charming and pleasurable to the great journey in this underwater adventure
|
||||
.s
|
||||
.c;[translation by Linde Simpson]
|
||||
52
seastalker.zil
Normal file
52
seastalker.zil
Normal file
@@ -0,0 +1,52 @@
|
||||
"COMPILE/LOAD FILE for SEASTALKER
|
||||
Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
|
||||
<COND (<GASSIGNED? PREDGEN>
|
||||
<PRINC "Compiling">
|
||||
<SETG ZSTR-ON <SETG ZSTR-OFF ,TIME>>
|
||||
<ID 0>)
|
||||
(T <PRINC "Loading">)>
|
||||
|
||||
<PRINC " SEASTALKER: junior-level interactive fiction from Infocom!">
|
||||
|
||||
<COND (<GASSIGNED? MUDDLE>
|
||||
<BLOAT 90000 0 0 3500 0 0 0 0 0 512>)>
|
||||
|
||||
<SET REDEFINE T>
|
||||
|
||||
"<GLOBAL BIGFIX 10000>"
|
||||
|
||||
<OR <GASSIGNED? ZILCH>
|
||||
<SETG WBREAKS <STRING !\" !,WBREAKS>>>
|
||||
|
||||
<DEFINE IFILE (STR "OPTIONAL" (FLOAD? <>) "AUX" (TIM <TIME>))
|
||||
<INSERT-FILE .STR .FLOAD?>>
|
||||
|
||||
<DIRECTIONS ;"Do not change the order of the first eight
|
||||
without consulting MARC! -- ENCHANTER"
|
||||
NORTH NE EAST SE SOUTH SW WEST NW UP DOWN IN OUT>
|
||||
|
||||
<IFILE "MACROS" T>
|
||||
<IFILE "SYNTAX" T>
|
||||
<IFILE "MAIN" T>
|
||||
<IFILE "SUB" T>
|
||||
<IFILE "BATTLE" T>
|
||||
<IFILE "THINGS" T>
|
||||
<IFILE "DOME" T>
|
||||
|
||||
<IFILE "PEOPLE" T>
|
||||
<IFILE "PLACES" T>
|
||||
<IFILE "GLOBAL" T>
|
||||
<CONSTANT SERIAL 0>
|
||||
<IFILE "CLOCK" T>
|
||||
<ENDLOAD>
|
||||
<IFILE "PARSER" T>
|
||||
<IFILE "VERBS" T>
|
||||
<IFILE "EVENTS" T>
|
||||
|
||||
<PROPDEF SIZE 5>
|
||||
<PROPDEF CAPACITY 0>
|
||||
|
||||
<GC-MON T>
|
||||
<COND (<GASSIGNED? MUDDLE>
|
||||
<GC 0 T 5>)>
|
||||
BIN
seastalker.zip
Normal file
BIN
seastalker.zip
Normal file
Binary file not shown.
15
syntax.zap
15
syntax.zap
@@ -1,5 +1,20 @@
|
||||
|
||||
|
||||
.FUNCT CAPITAL-NOUN?,WRD
|
||||
EQUAL? WRD,W?DOC,W?TIP,W?RANDALL /TRUE
|
||||
EQUAL? WRD,W?DOC'S,W?TIP'S,W?BILL'S /TRUE
|
||||
EQUAL? WRD,W?KEMP'S,W?ZOE'S,W?MARV'S /TRUE
|
||||
EQUAL? WRD,W?SHARON,W?KEMP,W?ZOE /TRUE
|
||||
EQUAL? WRD,W?BLY'S,W?AMY'S,W?FROBTON /TRUE
|
||||
EQUAL? WRD,W?BLY,W?AMY,W?LOWELL /TRUE
|
||||
EQUAL? WRD,W?MICK'S,W?WALT'S /TRUE
|
||||
EQUAL? WRD,W?MICK,W?ANTRIM,W?WALT /TRUE
|
||||
EQUAL? WRD,W?DOCTOR,W?DR,W?MARV /TRUE
|
||||
EQUAL? WRD,W?SIEGEL,W?BILL,W?GREENUP /TRUE
|
||||
EQUAL? WRD,W?HORVAK,W?JEROME,W?THORPE /TRUE
|
||||
RFALSE
|
||||
|
||||
|
||||
.FUNCT BUZZER-WORD?,WORD
|
||||
CALL QUESTION-WORD?,WORD
|
||||
ZERO? STACK \TRUE
|
||||
|
||||
76
syntax.zil
76
syntax.zil
@@ -6,17 +6,20 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<BUZZ A AN THE AND OF THEN ONE ;BUT ;EXCEPT \. \, \" \! \? ;Y BACK
|
||||
;CARRYING ;HOLDING FIRST NOW SOON WELL THERE ;YOUR ;YOU PLEASE MAYBE
|
||||
CAREFULLY CLOSELY ;THOROUGHLY QUIETLY SLOWLY QUICKLY BRIEFLY PRIVATELY
|
||||
ALL AGAIN G
|
||||
AM ANY ARE CAN COULD DID DO
|
||||
HAS HAVE HE\'S HOW
|
||||
IS IT\'S I\'LL I\'M I\'VE LET\'S SHALL SHE\'S SHOULD
|
||||
THAT\'S THEY\'RE WAS WERE WE\'RE
|
||||
WHAT WHAT\'S WHEN WHEN\'S WHERE WHICH WHO WHO\'S WHY
|
||||
WILL WON\'T WOULD YOU\'RE
|
||||
ZERO TWO THREE FOUR FIVE SIX SEVEN EIGHT NINE TEN ELEVEN TWELVE THIRTE
|
||||
FOURTE FIFTEE SIXTEE SEVENT EIGHTE NINETE TWENTY THIRTY FORTY
|
||||
FIFTY SIXTY EIGHTY NINETY HUNDRE THOUSA MILLIO BILLIO
|
||||
CURSE CURSES CUSS DAMN SHIT SUCK FUCK FUDGE PISS PEE POO SNOT BASTARD>
|
||||
ALL AGAIN G>
|
||||
|
||||
<ROUTINE CAPITAL-NOUN? (WRD)
|
||||
<OR <EQUAL? .WRD ,W?DOC ,W?TIP ,W?RANDALL>
|
||||
<EQUAL? .WRD ,W?DOC\'S ,W?TIP\'S ,W?BILL\'S>
|
||||
<EQUAL? .WRD ,W?KEMP\'S ,W?ZOE\'S ,W?MARV\'S>
|
||||
<EQUAL? .WRD ,W?SHARON ,W?KEMP ,W?ZOE>
|
||||
<EQUAL? .WRD ,W?BLY\'S ,W?AMY\'S ,W?FROBTON>
|
||||
<EQUAL? .WRD ,W?BLY ,W?AMY ,W?LOWELL>
|
||||
<EQUAL? .WRD ,W?MICK\'S ,W?WALT\'S>
|
||||
<EQUAL? .WRD ,W?MICK ,W?ANTRIM ,W?WALT>
|
||||
<EQUAL? .WRD ,W?DOCTOR ,W?DR ,W?MARV>
|
||||
<EQUAL? .WRD ,W?SIEGEL ,W?BILL ,W?GREENUP>
|
||||
<EQUAL? .WRD ,W?HORVAK ,W?JEROME ,W?THORPE>>>
|
||||
|
||||
<ROUTINE BUZZER-WORD? (WORD)
|
||||
<COND (<QUESTION-WORD? .WORD> <RTRUE>)
|
||||
@@ -27,6 +30,12 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<PRINTB .WORD>
|
||||
<TELL "\".)" CR>)>>
|
||||
|
||||
<BUZZ AM ANY ARE CAN COULD DID DO HAS HAVE HE\'S HOW
|
||||
IS IT\'S I\'LL I\'M I\'VE LET\'S SHALL SHE\'S SHOULD
|
||||
THAT\'S THEY\'RE WAS WERE WE\'RE
|
||||
WHAT WHAT\'S WHEN WHEN\'S WHERE ;WHERE\'S WHICH WHO WHO\'S WHY
|
||||
WILL WON\'T WOULD YOU\'RE>
|
||||
|
||||
<GLOBAL QUESTION-WORD-COUNT 0>
|
||||
<ROUTINE QUESTION-WORD? (WORD)
|
||||
<COND (<EQUAL? .WORD ,W?WHERE ;",W?THERE ,W?SEEN">
|
||||
@@ -52,7 +61,7 @@ CR>)
|
||||
<INC QUESTION-WORD-COUNT>
|
||||
<COND (<G? ,QUESTION-WORD-COUNT 9>
|
||||
<SETG QUESTION-WORD-COUNT 0>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"! Your commands tell the computer what you want to do in the story. You
|
||||
can give commands to other people in the story, too. Here are examples
|
||||
of commands:|
|
||||
@@ -61,9 +70,13 @@ of commands:|
|
||||
SHARON, GIVE THE BOOK TO TIP|
|
||||
BILL, HELP ME|
|
||||
Now you can try again.)" CR>)
|
||||
(T %<XTELL ", not statements or questions.)" CR>)>
|
||||
(T <TELL ", not statements or questions.)" CR>)>
|
||||
<RTRUE>)>>
|
||||
|
||||
<BUZZ ZERO TWO THREE FOUR FIVE SIX SEVEN EIGHT NINE TEN ELEVEN TWELVE THIRTE
|
||||
FOURTE FIFTEE SIXTEE SEVENT EIGHTE NINETE TWENTY THIRTY FORTY ;FORTY-
|
||||
FIFTY ;FIFTY- SIXTY ;SIXTY- EIGHTY NINETY HUNDRE THOUSA MILLIO BILLIO>
|
||||
|
||||
<ROUTINE NUMBER-WORD? (WRD)
|
||||
<COND (<OR <EQUAL? .WRD ,W?ZERO>
|
||||
<EQUAL? .WRD ,W?TWO ,W?THREE ,W?FOUR>
|
||||
@@ -79,6 +92,8 @@ Now you can try again.)" CR>)
|
||||
<TELL "(Use numerals for numbers, for example \"10.\")" CR>
|
||||
<RTRUE>)>>
|
||||
|
||||
<BUZZ CURSE CURSES CUSS DAMN SHIT SUCK FUCK FUDGE PISS PEE POO SNOT BASTARD>
|
||||
|
||||
<ROUTINE NAUGHTY-WORD? (WORD)
|
||||
<COND (<OR <EQUAL? .WORD ,W?CURSE ,W?CURSES ,W?CUSS>
|
||||
<EQUAL? .WORD ,W?DAMN ,W?SHIT ,W?FUCK>
|
||||
@@ -91,7 +106,7 @@ Now you can try again.)" CR>)
|
||||
<CRLF>)>>
|
||||
|
||||
<GLOBAL OFFENDED
|
||||
<LTABLE "You ought to be ashamed of yourself!"
|
||||
<PLTABLE "You ought to be ashamed of yourself!"
|
||||
"Hey, save that talk for the locker room!"
|
||||
"Step outside and say that!"
|
||||
"And so's your old man!">>
|
||||
@@ -116,7 +131,7 @@ Now you can try again.)" CR>)
|
||||
|
||||
<SYNTAX $VERIFY = V-$VERIFY>
|
||||
|
||||
<SYNTAX $DBG = V-DEBUG>
|
||||
<SYNTAX \#DBG = V-DEBUG>
|
||||
"<SYNTAX \#CODE = V-$CODE>" "produces secret code from names"
|
||||
|
||||
<SYNTAX $BAY = V-$BAY> "sub in bay"
|
||||
@@ -124,10 +139,11 @@ Now you can try again.)" CR>)
|
||||
"<SYNTAX $DOME = V-$DOME>" "sub in dome"
|
||||
"<SYNTAX $SNARK = V-$SNARK>" "sub in battle"
|
||||
|
||||
<SYNONYM ADJUST TUNE FOCUS>
|
||||
<SYNONYM ADJUST TUNE FOCUS CLEAR>
|
||||
<SYNTAX ADJUST OBJECT = V-ADJUST>
|
||||
<SYNTAX ADJUST OBJECT WITH OBJECT = V-ADJUST>
|
||||
<SYNTAX ADJUST IN OBJECT = V-ADJUST>
|
||||
<SYNTAX ADJUST UP OBJECT = V-ADJUST>
|
||||
|
||||
<SYNONYM AIM POINT>
|
||||
<SYNTAX AIM OBJECT AT OBJECT = V-AIM PRE-AIM>
|
||||
@@ -221,8 +237,8 @@ Now you can try again.)" CR>)
|
||||
WITH OBJECT
|
||||
= V-CLOSE>
|
||||
|
||||
<SYNTAX COME OBJECT = V-COME>
|
||||
<SYNTAX COME TO OBJECT = V-COME>
|
||||
<SYNTAX COME OBJECT = V-WALK-TO ;V-COME>
|
||||
<SYNTAX COME TO OBJECT = V-WALK-TO ;V-COME>
|
||||
<SYNTAX COME WITH OBJECT = V-FOLLOW>
|
||||
<SYNTAX COME WITH OBJECT TO OBJECT = V-COME-WITH PRE-COME-WITH>
|
||||
|
||||
@@ -510,7 +526,7 @@ Now you can try again.)" CR>)
|
||||
<SYNTAX PLACE OBJECT (CARRIED HELD HAVE) UNDER OBJECT = V-PUT-UNDER>
|
||||
"<SYNTAX PLACE OBJECT (CARRIED HELD HAVE) AGAINST OBJECT = V-LEAN>"
|
||||
<SYNTAX PLACE DOWN OBJECT (HELD MANY HAVE) = V-DROP>
|
||||
<SYNTAX PLACE ON OBJECT (ON-GROUND IN-ROOM) = V-TAKE PRE-TAKE>
|
||||
<SYNTAX PLACE ON OBJECT (ON-GROUND IN-ROOM) = V-LAMP-ON> "PUT ON OBJ"
|
||||
|
||||
<SYNONYM QUIT Q>
|
||||
<SYNTAX QUIT = V-QUIT>
|
||||
@@ -616,9 +632,9 @@ Now you can try again.)" CR>)
|
||||
<SYNTAX SHOW OBJECT (FIND PERSON) OBJECT = V-SHOW>
|
||||
<SYNTAX SHOW OBJECT TO OBJECT (FIND PERSON) = V-SSHOW PRE-SSHOW>
|
||||
|
||||
<SYNTAX SIT ON OBJECT (FIND FURNITURE) (ON-GROUND IN-ROOM) = V-SIT>
|
||||
<SYNTAX SIT DOWN OBJECT (FIND FURNITURE) (ON-GROUND IN-ROOM) = V-SIT>
|
||||
<SYNTAX SIT IN OBJECT (FIND FURNITURE) (ON-GROUND IN-ROOM) = V-SIT>
|
||||
<SYNTAX SIT ON OBJECT ;(FIND FURNITURE) (ON-GROUND IN-ROOM) = V-SIT>
|
||||
<SYNTAX SIT DOWN OBJECT ;(FIND FURNITURE) (ON-GROUND IN-ROOM) = V-SIT>
|
||||
<SYNTAX SIT IN OBJECT ;(FIND FURNITURE) (ON-GROUND IN-ROOM) = V-SIT>
|
||||
|
||||
<SYNONYM SLAP HURT INJURE HIT PUNCH KICK BITE>
|
||||
<SYNTAX SLAP OBJECT (FIND PERSON) = V-SLAP>
|
||||
@@ -681,9 +697,9 @@ Now you can try again.)" CR>)
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (IN-ROOM CARRIED MANY)
|
||||
FROM OBJECT
|
||||
= V-TAKE PRE-TAKE>
|
||||
"<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||
OFF OBJECT
|
||||
= V-TAKE PRE-TAKE>"
|
||||
= V-TAKE PRE-TAKE>
|
||||
<SYNTAX TAKE OBJECT (FIND TAKEBIT) (CARRIED IN-ROOM MANY)
|
||||
OUT ;OF OBJECT (FIND CONTBIT)
|
||||
= V-TAKE PRE-TAKE>
|
||||
@@ -726,10 +742,10 @@ Now you can try again.)" CR>)
|
||||
<SYNONYM TIE FASTEN SECURE ATTACH>
|
||||
"<SYNTAX TIE OBJECT TO OBJECT = V-TIE PRE-TIE>"
|
||||
<SYNTAX TIE OBJECT (FIND PERSON) (ON-GROUND IN-ROOM)
|
||||
TO OBJECT (FIND FURNITURE) (ON-GROUND IN-ROOM)
|
||||
TO OBJECT ;(FIND FURNITURE) (ON-GROUND IN-ROOM)
|
||||
= V-TIE-TO PRE-TIE-TO>
|
||||
<SYNTAX TIE UP OBJECT (FIND PERSON) (ON-GROUND IN-ROOM)
|
||||
TO OBJECT (FIND FURNITURE) (ON-GROUND IN-ROOM)
|
||||
TO OBJECT ;(FIND FURNITURE) (ON-GROUND IN-ROOM)
|
||||
= V-TIE-TO PRE-TIE-TO>
|
||||
<SYNTAX TIE OBJECT (FIND PERSON) (ON-GROUND IN-ROOM)
|
||||
WITH OBJECT (FIND TOOLBIT) (ON-GROUND IN-ROOM HELD CARRIED HAVE)
|
||||
@@ -808,24 +824,16 @@ Now you can try again.)" CR>)
|
||||
|
||||
<SYNONYM WALK GO RUN PROCEED STEER HEAD DRIVE>
|
||||
<SYNTAX WALK OBJECT = V-WALK>
|
||||
<SYNTAX CRAWL OBJECT = V-WALK>
|
||||
<SYNTAX WALK AROUND OBJECT = V-WALK-AROUND>
|
||||
<SYNTAX CRAWL AROUND OBJECT = V-WALK-AROUND>
|
||||
<SYNTAX WALK BEHIND OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX CRAWL BEHIND OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX WALK DOWN OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-DOWN> "(FIND CLIMBBIT)"
|
||||
<SYNTAX WALK IN OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX CRAWL IN OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX WALK OBJECT OVER OBJECT = V-RUN-OVER>
|
||||
<SYNTAX WALK OUT ;OF OBJECT = V-LEAVE>
|
||||
<SYNTAX CRAWL OUT ;OF OBJECT = V-LEAVE>
|
||||
<SYNTAX WALK TO OBJECT = V-WALK-TO>
|
||||
<SYNTAX CRAWL TO OBJECT = V-WALK-TO>
|
||||
<SYNTAX WALK UNDER OBJECT = V-WALK-UNDER>
|
||||
<SYNTAX CRAWL UNDER OBJECT = V-WALK-UNDER>
|
||||
<SYNTAX WALK UP OBJECT (ON-GROUND IN-ROOM) = V-CLIMB-UP> "(FIND CLIMBBIT)"
|
||||
<SYNTAX WALK THROUGH OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX CRAWL THROUGH OBJECT = V-THROUGH PRE-THROUGH>
|
||||
<SYNTAX WALK WITH OBJECT = V-FOLLOW>
|
||||
|
||||
"<SYNTAX WATCH OBJECT = V-EXAMINE>"
|
||||
|
||||
42
things.zap
42
things.zap
@@ -14,7 +14,7 @@
|
||||
SET 'TBL,P-PRSO
|
||||
JUMP ?CND1
|
||||
?ELS11: SET 'TBL,P-PRSI
|
||||
SET 'PRSO?,0
|
||||
SET 'PRSO?,FALSE-VALUE
|
||||
?CND1: EQUAL? PRSA,V?SEARCH-FOR,V?ASK-FOR,V?ASK-ABOUT \?CND14
|
||||
FSET? PRSO,PERSON \?CND14
|
||||
IN? PRSO,GLOBAL-OBJECTS \?CND14
|
||||
@@ -93,14 +93,14 @@
|
||||
EQUAL? PRSA,V?GIVE,V?WHAT,V?FIND \?ELS43
|
||||
?THN52: EQUAL? PRSA,V?ASK-FOR,V?ASK-ABOUT \?ELS56
|
||||
FSET? PRSO,PERSON /?CND57
|
||||
SET 'PERSON?,0
|
||||
SET 'PERSON?,FALSE-VALUE
|
||||
PRINTI "The "
|
||||
?CND57: PRINTD PRSO
|
||||
JUMP ?CND54
|
||||
?ELS56: CALL QCONTEXT-GOOD?
|
||||
ZERO? STACK /?ELS65
|
||||
FSET? QCONTEXT,PERSON /?CND66
|
||||
SET 'PERSON?,0
|
||||
SET 'PERSON?,FALSE-VALUE
|
||||
PRINTI "The "
|
||||
?CND66: PRINTD QCONTEXT
|
||||
JUMP ?CND54
|
||||
@@ -146,18 +146,14 @@
|
||||
?ELS5: EQUAL? PRSO,NOT-HERE-OBJECT \?ELS23
|
||||
GET P-ITBL,P-NC1 >?TMP1
|
||||
GET P-ITBL,P-NC1L
|
||||
CALL BUFFER-PRINT,?TMP1,STACK,0
|
||||
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
|
||||
RSTACK
|
||||
?ELS23: GET P-ITBL,P-NC2 >?TMP1
|
||||
GET P-ITBL,P-NC2L
|
||||
CALL BUFFER-PRINT,?TMP1,STACK,0
|
||||
CALL BUFFER-PRINT,?TMP1,STACK,FALSE-VALUE
|
||||
RSTACK
|
||||
|
||||
|
||||
.FUNCT NO-TOUCH
|
||||
PRINTR "Only clods fool around with these things for no good reason."
|
||||
|
||||
|
||||
.FUNCT THE?,NOUN
|
||||
FSET? NOUN,PERSON \?ELS9
|
||||
EQUAL? NOUN,PLAYER \TRUE
|
||||
@@ -177,16 +173,14 @@
|
||||
|
||||
|
||||
.FUNCT MAGAZINE-F
|
||||
CALL REMOTE-VERB?
|
||||
ZERO? STACK \FALSE
|
||||
EQUAL? PRSA,V?OPEN \?ELS7
|
||||
EQUAL? PRSA,V?OPEN,V?LOOK-INSIDE \?ELS5
|
||||
CALL NOT-HOLDING?,MAGAZINE
|
||||
ZERO? STACK \TRUE
|
||||
?ELS7: EQUAL? PRSA,V?LOOK-UP \?ELS11
|
||||
EQUAL? PRSO,GLOBAL-THORPE \?ELS11
|
||||
?ELS5: EQUAL? PRSA,V?LOOK-UP \?ELS12
|
||||
EQUAL? PRSO,GLOBAL-THORPE \?ELS12
|
||||
CALL PERFORM,V?READ,ARTICLE
|
||||
RTRUE
|
||||
?ELS11: EQUAL? PRSA,V?ANALYZE,V?EXAMINE,V?READ \FALSE
|
||||
?ELS12: EQUAL? PRSA,V?ANALYZE,V?EXAMINE,V?READ \FALSE
|
||||
CALL NOT-HOLDING?,MAGAZINE
|
||||
ZERO? STACK \TRUE
|
||||
PRINTI """Science World"" is a popular "
|
||||
@@ -207,13 +201,15 @@ The cover shows "
|
||||
RTRUE
|
||||
?ELS5: EQUAL? PRSA,V?ANALYZE /?THN8
|
||||
EQUAL? PRSA,V?EXAMINE,V?LOOK-INSIDE,V?READ \FALSE
|
||||
?THN8: PRINTI "It says that "
|
||||
?THN8: CALL NOT-HOLDING?,MAGAZINE
|
||||
ZERO? STACK \TRUE
|
||||
PRINTI "It says that "
|
||||
PRINTD GLOBAL-THORPE
|
||||
PRINTI " may have created synthetic forms of marine life by genetic engineering. You learn that Thorpe went into hiding to duck publicity, but before that he told friends he would soon marry "
|
||||
PRINTD SHARON
|
||||
PRINTR ".
|
||||
The form of the creatures is unknown. They may be stimulated by ultrasonic pulses and might be trained to respond to such pulses.
|
||||
Some scientists are skeptical, but Thorpe has claimed that one-celled organisms had evolved in his lab from AMINO-HYDROPHASE or AH. If rumors are true, these synthetic sea creatures should be based on the AH molecule."
|
||||
Some scientists are skeptical, but Thorpe has claimed that one-celled organisms had evolved in his lab from AMINO-HYDROPHASE or A.H. If rumors are true, these synthetic sea creatures should be based on the A.H. molecule."
|
||||
|
||||
|
||||
.FUNCT CATALYST-CAPSULE-F
|
||||
@@ -274,14 +270,14 @@ Some scientists are skeptical, but Thorpe has claimed that one-celled organisms
|
||||
EQUAL? PRSA,V?TAKE \?ELS8
|
||||
EQUAL? PRSO,OXYGEN-GEAR \?ELS8
|
||||
CALL ITAKE
|
||||
EQUAL? STACK,1 \TRUE
|
||||
EQUAL? STACK,TRUE-VALUE \TRUE
|
||||
PRINTI "You're now wearing"
|
||||
CALL THE-PRSO-PRINT
|
||||
PRINTR " around your neck."
|
||||
?ELS8: EQUAL? PRSA,V?OPEN /?THN18
|
||||
EQUAL? PRSA,V?USE,V?TURN,V?LAMP-ON \?ELS17
|
||||
?THN18: FSET? OXYGEN-GEAR,ONBIT \?ELS22
|
||||
CALL ALREADY,OXYGEN-GEAR,STR?47
|
||||
CALL ALREADY,OXYGEN-GEAR,STR?42
|
||||
RTRUE
|
||||
?ELS22: CALL NOT-HOLDING?,OXYGEN-GEAR
|
||||
ZERO? STACK \TRUE
|
||||
@@ -319,7 +315,9 @@ Some scientists are skeptical, but Thorpe has claimed that one-celled organisms
|
||||
|
||||
|
||||
.FUNCT V-$BAY
|
||||
SET 'HERE,SUB
|
||||
ZERO? SUB-IN-TANK \?CND1
|
||||
PRINTR "too late"
|
||||
?CND1: SET 'HERE,SUB
|
||||
MOVE PLAYER,SUB
|
||||
MOVE TIP,SUB
|
||||
MOVE CATALYST-CAPSULE,REACTOR
|
||||
@@ -327,12 +325,12 @@ Some scientists are skeptical, but Thorpe has claimed that one-celled organisms
|
||||
FSET REACTOR,ONBIT
|
||||
FSET ENGINE,ONBIT
|
||||
FCLEAR SUB-DOOR,OPENBIT
|
||||
SET 'MONSTER-GONE,1
|
||||
SET 'MONSTER-GONE,TRUE-VALUE
|
||||
SET 'JOYSTICK-DIR,P?EAST
|
||||
SET 'SUB-DLON,1
|
||||
SET 'SUB-DLAT,0
|
||||
SET 'NOW-TERRAIN,BAY-TERRAIN
|
||||
SET 'SUB-IN-TANK,0
|
||||
SET 'SUB-IN-TANK,FALSE-VALUE
|
||||
CALL QUEUE,I-UPDATE-SUB-POSITION,-1
|
||||
PUT STACK,0,1
|
||||
RTRUE
|
||||
|
||||
58
things.zil
58
things.zil
@@ -7,7 +7,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
(ACTION NULL-F ;"Place holder")>
|
||||
|
||||
<ROUTINE RANDOM-PSEUDO ()
|
||||
%<XTELL "You can't do anything useful with that." CR>>
|
||||
<TELL "You can't do anything useful with that." CR>>
|
||||
|
||||
<OBJECT NOT-HERE-OBJECT
|
||||
(DESC "that thing")
|
||||
@@ -117,7 +117,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
(T <TELL "Someone">)>
|
||||
<COND (<NOT .PERSON? ;<FSET? ,PRSO ,PERSON>>
|
||||
<TELL " isn't connected to any">)
|
||||
(T %<XTELL
|
||||
(T <TELL
|
||||
" looks confused. \"I don't know anything about any">)>
|
||||
<NOT-HERE-PRINT>
|
||||
<TELL "!">
|
||||
@@ -125,7 +125,7 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
<CRLF>
|
||||
<RTRUE>)
|
||||
(<NOT .PRSO?>
|
||||
%<XTELL "You wouldn't find any">
|
||||
<TELL "You wouldn't find any">
|
||||
<NOT-HERE-PRINT>
|
||||
<TELL " there." CR>
|
||||
<RTRUE>)
|
||||
@@ -140,9 +140,9 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
(T
|
||||
<BUFFER-PRINT <GET ,P-ITBL ,P-NC2> <GET ,P-ITBL ,P-NC2L> <>>)>>
|
||||
|
||||
<ROUTINE NO-TOUCH ()
|
||||
%<XTELL
|
||||
"Only clods fool around with these things for no good reason." CR>>
|
||||
;"<ROUTINE NO-TOUCH ()
|
||||
<TELL
|
||||
'Only clods fool around with these things for no good reason.' CR>>"
|
||||
|
||||
<ROUTINE THE? (NOUN)
|
||||
<COND (<OR <AND <FSET? .NOUN ,PERSON>
|
||||
@@ -174,16 +174,14 @@ Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
||||
(ACTION MAGAZINE-F)>
|
||||
|
||||
<ROUTINE MAGAZINE-F ()
|
||||
<COND (<REMOTE-VERB?>
|
||||
<COND ;(<REMOTE-VERB?>
|
||||
<RFALSE>)
|
||||
(<AND <VERB? OPEN> <NOT-HOLDING? ,MAGAZINE>>
|
||||
;"<VERB? OPEN> added 4/11/84 by MARC"
|
||||
<RTRUE>)
|
||||
(<VERB? LOOK-INSIDE OPEN>
|
||||
<COND (<NOT-HOLDING? ,MAGAZINE> <RTRUE>)>)
|
||||
(<AND <VERB? LOOK-UP> <DOBJ? GLOBAL-THORPE>>
|
||||
<PERFORM ,V?READ ,ARTICLE>
|
||||
<RTRUE>)
|
||||
(<VERB? READ ;"LOOK-INSIDE OPEN" EXAMINE ANALYZE>
|
||||
;"COND added 4/11/84 by MARC"
|
||||
(<VERB? READ EXAMINE ANALYZE>
|
||||
<COND (<NOT-HOLDING? ,MAGAZINE> <RTRUE>)>
|
||||
<TELL
|
||||
"\"Science World\" is a popular " D ,MAGAZINE " about new
|
||||
@@ -209,6 +207,7 @@ forms. The cover says:|
|
||||
<PERFORM ,PRSA ,MAGAZINE ,PRSI>
|
||||
<RTRUE>)
|
||||
(<VERB? READ LOOK-INSIDE EXAMINE ANALYZE>
|
||||
<COND (<NOT-HOLDING? ,MAGAZINE> <RTRUE>)>
|
||||
<TELL
|
||||
"It says that " D ,GLOBAL-THORPE " may have created synthetic forms of
|
||||
marine life by genetic engineering. You learn that Thorpe went into
|
||||
@@ -217,22 +216,10 @@ marry " D ,SHARON ".|
|
||||
The form of the creatures is unknown. They may be stimulated by
|
||||
ultrasonic pulses and might be trained to respond to such pulses.|
|
||||
Some scientists are skeptical, but Thorpe has claimed that one-celled
|
||||
organisms had evolved in his lab from AMINO-HYDROPHASE or AH. If rumors
|
||||
are true, these synthetic sea creatures should be based on the AH
|
||||
organisms had evolved in his lab from AMINO-HYDROPHASE or A.H. If rumors
|
||||
are true, these synthetic sea creatures should be based on the A.H.
|
||||
molecule." CR>)>>
|
||||
|
||||
;<OBJECT LAMP
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "lamp")
|
||||
(SYNONYM LAMP)
|
||||
(FLAGS NDESCBIT FURNITURE ONBIT)>
|
||||
|
||||
;<OBJECT CABINET
|
||||
(IN LOCAL-GLOBALS)
|
||||
(DESC "cabinet")
|
||||
(SYNONYM CABINET)
|
||||
;(ACTION CUPBOARD-F)>
|
||||
|
||||
<OBJECT CATALYST-CAPSULE
|
||||
(IN WORK-COUNTER)
|
||||
(DESC "catalyst capsule")
|
||||
@@ -241,7 +228,6 @@ molecule." CR>)>>
|
||||
(ACTION CATALYST-CAPSULE-F)
|
||||
(FLAGS TAKEBIT)
|
||||
(TEXT "(You'll find that information in your SEASTALKER package.)")
|
||||
;(TEXT "This capsule goes in the reactor in the SCIMITAR.")
|
||||
(SIZE 11)
|
||||
(VALUE 5)>
|
||||
|
||||
@@ -253,14 +239,13 @@ molecule." CR>)>>
|
||||
"It looks as if the " D ,CATALYST-CAPSULE " fits perfectly into the "
|
||||
D ,REACTOR "." CR>)
|
||||
(<AND <VERB? FIND> <NOT <FSET? ,CATALYST-CAPSULE ,TOUCHBIT>>>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"The capsule is usually stored on a " D ,WORK-COUNTER" on the west wall of the
|
||||
tank area." CR>)
|
||||
(<AND <VERB? PUT> <IOBJ? GLOBAL-SUB LOCAL-SUB>>
|
||||
%<XTELL "You'll have to take it there yourself." CR>)
|
||||
(<AND <VERB? TAKE> <FSET? ,CATALYST-CAPSULE ,TRYTAKEBIT>
|
||||
;"<NOT ,SUB-IN-TANK> <NOT <EQUAL? ,NOW-TERRAIN ,BAY-TERRAIN>>">
|
||||
%<XTELL "It's too hot to pick up." CR>)>>
|
||||
<TELL "You'll have to take it there yourself." CR>)
|
||||
(<AND <VERB? TAKE> <FSET? ,CATALYST-CAPSULE ,TRYTAKEBIT>>
|
||||
<TELL "It's too hot to pick up." CR>)>>
|
||||
|
||||
<OBJECT OXYGEN-GEAR-OTHER
|
||||
(IN GLOBAL-OBJECTS)
|
||||
@@ -321,7 +306,7 @@ tank area." CR>)
|
||||
<FCLEAR ,OXYGEN-GEAR ,NDESCBIT>
|
||||
<COND (<AND <VERB? TAKE> <DOBJ? OXYGEN-GEAR>>
|
||||
<COND (<==? <ITAKE> T>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"You're now wearing" THE-PRSO " around your neck." CR>)>
|
||||
<RTRUE>)
|
||||
(<VERB? LAMP-ON TURN USE OPEN>
|
||||
@@ -331,14 +316,14 @@ tank area." CR>)
|
||||
(<NOT-HOLDING? ,OXYGEN-GEAR>
|
||||
<RTRUE>)
|
||||
(<NOT ,DOME-AIR-BAD?>
|
||||
%<XTELL "You don't need it now!" CR>
|
||||
<TELL "You don't need it now!" CR>
|
||||
<RTRUE>)>
|
||||
<FSET ,OXYGEN-GEAR ,ONBIT>
|
||||
%<XTELL
|
||||
<TELL
|
||||
"As you open the valve and suck on the rubber straw, you feel your lungs
|
||||
filling with pure oxygen.">
|
||||
<COND (<AND ,DOME-AIR-BAD? <CORRIDOR-LOOK ,BLY>>
|
||||
%<XTELL CR
|
||||
<TELL CR
|
||||
"But you notice Zoe Bly collapsing, and you realize she has
|
||||
no " D ,OXYGEN-GEAR ;" around her neck" "!">)>
|
||||
<CRLF>)
|
||||
@@ -407,6 +392,7 @@ no " D ,OXYGEN-GEAR ;" around her neck" "!">)>
|
||||
<PRINTC <+ *101* <MOD .CH 26>>>>>"
|
||||
|
||||
<ROUTINE V-$BAY ()
|
||||
<COND (<NOT ,SUB-IN-TANK> <TELL "too late" CR> <RTRUE>)>
|
||||
<SETG HERE ,SUB>
|
||||
<MOVE ,PLAYER ,SUB>
|
||||
<MOVE ,TIP ,SUB>
|
||||
|
||||
30
ub.gr
Normal file
30
ub.gr
Normal file
@@ -0,0 +1,30 @@
|
||||
@style (spacing 1)
|
||||
@title (FEATURES OF THE "SCIMITAR")
|
||||
@pageheading(DRAFT)
|
||||
@majorheading (FEATURES OF THE "SCIMITAR" - FOR BACKGROUND)
|
||||
|
||||
Copyright (C) 1984 Infocom, Inc. All rights reserved.
|
||||
|
||||
@heading (CABIN)
|
||||
"You are now in the pilot's seat of the sub, with its operating control
|
||||
panel spread out before you. Buzz is in the copilot's seat just behind
|
||||
you. A thick-paned wraparound view port, both fore and aft, provides
|
||||
a wide angle of vision ahead and astern. TV
|
||||
camera eyes and sonar transducers in the hull also enable you to monitor
|
||||
your surroundings via video screen and sonarscope.
|
||||
There is a sonarphone and a radio. There is also a hydrophone listening
|
||||
device."
|
||||
|
||||
@heading (INSTRUMENTS)
|
||||
@begin (itemize)
|
||||
|
||||
CONTROL CIRCUITS TEMPERATURE GAUGE -@*
|
||||
"Temperature gauge needle has now entered red danger zone!
|
||||
Circuit tester now activated. Push test button for readout."@*
|
||||
"Readout display says:
|
||||
LASERS IN OPERATIONAL COMPUTERS ARE OVER-CHARGING.
|
||||
TO CORRECT, ADJUST VOLTAGE REGULATOR.@*
|
||||
** WARNING **@*
|
||||
VOLTAGE REGULATOR IS REACHABLE ONLY FROM ENGINE COMPARTMENT CRAWL SPACE.
|
||||
THIS IS A HAZARDOUS OPERATION AT SEA! CONSULT MANUAL FOR DETAILS."
|
||||
@end (itemize)
|
||||
30
ub.mss
Normal file
30
ub.mss
Normal file
@@ -0,0 +1,30 @@
|
||||
@style (spacing 1)
|
||||
@title (FEATURES OF THE "SCIMITAR")
|
||||
@pageheading(DRAFT)
|
||||
@majorheading (FEATURES OF THE "SCIMITAR" - FOR BACKGROUND)
|
||||
|
||||
Copyright (C) 1984 Infocom, Inc. All rights reserved.
|
||||
|
||||
@heading (CABIN)
|
||||
"You are now in the pilot's seat of the sub, with its operating control
|
||||
panel spread out before you. Buzz is in the copilot's seat just behind
|
||||
you. A thick-paned wraparound view port, both fore and aft, provides
|
||||
a wide angle of vision ahead and astern. TV
|
||||
camera eyes and sonar transducers in the hull also enable you to monitor
|
||||
your surroundings via video screen and sonarscope.
|
||||
There is a sonarphone and a radio. There is also a hydrophone listening
|
||||
device."
|
||||
|
||||
@heading (INSTRUMENTS)
|
||||
@begin (itemize)
|
||||
|
||||
CONTROL CIRCUITS TEMPERATURE GAUGE -@*
|
||||
"Temperature gauge needle has now entered red danger zone!
|
||||
Circuit tester now activated. Push test button for readout."@*
|
||||
"Readout display says:
|
||||
LASERS IN OPERATIONAL COMPUTERS ARE OVER-CHARGING.
|
||||
TO CORRECT, ADJUST VOLTAGE REGULATOR.@*
|
||||
** WARNING **@*
|
||||
VOLTAGE REGULATOR IS REACHABLE ONLY FROM ENGINE COMPARTMENT CRAWL SPACE.
|
||||
THIS IS A HAZARDOUS OPERATION AT SEA! CONSULT MANUAL FOR DETAILS."
|
||||
@end (itemize)
|
||||
3772
verbs.xzap
Normal file
3772
verbs.xzap
Normal file
File diff suppressed because it is too large
Load Diff
45
vocab.adj
Normal file
45
vocab.adj
Normal file
@@ -0,0 +1,45 @@
|
||||
49-ER 49ER ACCESS ADMIN ADMINI
|
||||
AIR AIRLOC ALARM AMY AMY'S
|
||||
ANTRIM AQUA AQUADO AQUATI ASSORT
|
||||
ATLANT AUTO AUTOMA BILL BILL'S
|
||||
BIOCEP BLACK BLDG BLUE BLY'S
|
||||
BOLT BOX BRASS BUILDI BUSINE
|
||||
CAPSUL CATALY CENTER CENTRE CHEMIC
|
||||
CIRCUI CLOSET COAXIA COMM COMMAN
|
||||
COMMUN CONTRO COVER CRAWL CURREN
|
||||
DART DEFINI DEPTH DEPTHF DESK
|
||||
DETECT DISTRE DIVER DIVERS DOC
|
||||
DOC'S DOCKIN DOCTOR DOME DORM
|
||||
DORMIT DR EAST ELECTR EMERGE
|
||||
EMPTY ENGINE ENTIRE ENTRY EXERCI
|
||||
EXPLOS EXTEND EXTENS FAMOUS FEMALE
|
||||
FILE FINDER FINE FLOOD FRAM
|
||||
FROBTO FULL GALLEY GATE GAUGE
|
||||
GREENU GRID HAND HER HIS
|
||||
HORVAK HUGE HYDROJ HYDROP HYPO
|
||||
HYPODE IDENTI INSERT INSTRU INVENT
|
||||
JEROME JOGGIN JOY KEMP'S LAB
|
||||
LABORA LIGHT LISTEN LOCKER LOG
|
||||
LOWELL MACHIN MAG MAGAZI MALE
|
||||
MARINE MARV MARV'S MECHAN METALL
|
||||
MICK MICK'S MICROW MISSIN MY
|
||||
NE NEW NORTH NUMBER NW
|
||||
ODD ODDLY OFFICE OPEN OPERAT
|
||||
ORANGE ORE OTHER OXYGEN PERSON
|
||||
PLASTI POWER PRESEN PROPUL PROSPE
|
||||
RANDAL REACTO RECEPT RED REDDIS
|
||||
REMOTE REPELA RESEAR REVOLU ROOM
|
||||
RUBBER RUNNIN SAFETY SCIMIT SE
|
||||
SEA SEARCH SECURI SERIOU SHAPED
|
||||
SHARON SIEGEL SLIDIN SMALL SOME
|
||||
SONAR SONARS SOS SOUTH SPARE
|
||||
SPECIA SPREAD STANDI STARTE STATIO
|
||||
STEEL STENCI STORAG SUB SUB'S
|
||||
SUBMAR SUPPLY SURVIV SW TANK
|
||||
TEMPER TEMPOR TEST THESE THIS
|
||||
THORPE TIP TIP'S TRANK TRANQU
|
||||
TRANSP ULTRAM UNDERS UNDERW UNIVER
|
||||
URGENT VALUAB VIDEO VIDEOP VOLTAG
|
||||
WALL WALT WALT'S WARM WARNIN
|
||||
WEST WORK WORKSH YELLOW YOUNG
|
||||
ZOE
|
||||
98
vocab.mud
Normal file
98
vocab.mud
Normal file
@@ -0,0 +1,98 @@
|
||||
|
||||
<SETG VBUFF <IBYTES 8 <* 7 1024>>> "for vocab up to 1024 words"
|
||||
<GDECL (VBUFF) <BYTES 8>>
|
||||
|
||||
<DEFINE VOCAB (FILE
|
||||
"AUX" BYTADDR VLEN VNUM (C <OPEN "READB" .FILE>) OUTCHAN
|
||||
(NDUP 0) (NORD 0) (BUF <IBYTES 16 6>))
|
||||
#DECL ((BYTADDR VLEN VNUM NDUP NORD) FIX
|
||||
(C) <OR CHANNEL FALSE>
|
||||
(OUTCHAN) <SPECIAL <OR CHANNEL FALSE>>
|
||||
(BUF) <OR <BYTES 8> <BYTES 16>>)
|
||||
<COND (.C
|
||||
<SET OUTCHAN <OPEN "PRINT" <7 .C> "VOCAB">>
|
||||
<READB .BUF .C>
|
||||
<SET BYTADDR <5 .BUF>>
|
||||
<ACCESS .C </ .BYTADDR 4>>
|
||||
<READB ,VBUFF .C>
|
||||
<SET BUF <REST ,VBUFF <MOD .BYTADDR 4>>>
|
||||
<SET VLEN <5 .BUF>>
|
||||
<SET VNUM <+ <7 .BUF> <* 256 <6 .BUF>>>>
|
||||
<SET BUF <REST .BUF 7>>
|
||||
<REPEAT ((N .VNUM) X X1 (OX #WORD 0) (OX1 #WORD 0))
|
||||
#DECL ((N) FIX (X X1 OX OX1) WORD)
|
||||
<SET X
|
||||
<ORB <LSH <1 .BUF> 24>
|
||||
<LSH <2 .BUF> 16>
|
||||
<LSH <3 .BUF> 8>
|
||||
<4 .BUF>>>
|
||||
<PRINT .X>
|
||||
<PRINC " \"">
|
||||
<ZWORD-PRINT .X>
|
||||
<PRINC "\"">
|
||||
<COND (<L? <CHTYPE .X FIX> <CHTYPE .OX FIX>>
|
||||
<SET NORD <+ 1 .NORD>>
|
||||
<PRINC " [out of order!]">)>
|
||||
<SET X1 <ANDB .X #WORD *037777677777*>>
|
||||
<COND (<L? <CHTYPE .X1 FIX> <CHTYPE .OX1 FIX>>
|
||||
<SET NORD <+ 1 .NORD>>
|
||||
<PRINC " [out of order!]">)
|
||||
(<==? .X1 .OX1>
|
||||
<SET NDUP <+ 1 .NDUP>>
|
||||
<PRINC " [duplicate!]">)>
|
||||
<SET OX .X>
|
||||
<SET OX1 .X1>
|
||||
<COND (<0? <SET N <- .N 1>>> <RETURN>)>
|
||||
<SET BUF <REST .BUF .VLEN>>>
|
||||
<CRLF>
|
||||
<PRINC "Errors found: " ,OUTCHAN>
|
||||
<COND (<AND <0? .NDUP> <0? .NORD>>
|
||||
<PRINC "none" ,OUTCHAN>)>
|
||||
<COND (<NOT <0? .NDUP>>
|
||||
<PRINC .NDUP ,OUTCHAN>
|
||||
<PRINC " duplications " ,OUTCHAN>)>
|
||||
<COND (<NOT <0? .NORD>>
|
||||
<PRINC .NORD ,OUTCHAN>
|
||||
<PRINC " out of order " ,OUTCHAN>)>
|
||||
<CRLF ,OUTCHAN>
|
||||
<CLOSE .OUTCHAN>)>>
|
||||
|
||||
<SETG ZWORD-BUF <IBYTES 5 6>>
|
||||
<GDECL (ZWORD-BUF) <BYTES 5>>
|
||||
|
||||
<DEFINE ZWORD-PRINT (X)
|
||||
<1 ,ZWORD-BUF <CHTYPE <LSH .X -26> FIX>>
|
||||
<2 ,ZWORD-BUF <CHTYPE <LSH .X -21> FIX>>
|
||||
<3 ,ZWORD-BUF <CHTYPE <LSH .X -16> FIX>>
|
||||
<4 ,ZWORD-BUF <CHTYPE <LSH .X -10> FIX>>
|
||||
<5 ,ZWORD-BUF <CHTYPE <LSH .X -5> FIX>>
|
||||
<6 ,ZWORD-BUF <CHTYPE .X FIX>>
|
||||
<REPEAT ((N 0) CH (CASE 0) (TCASE -1))
|
||||
#DECL ((N CH CASE TCASE) FIX)
|
||||
<COND (<L? 6 <SET N <+ 1 .N>>> <RETURN>)>
|
||||
<SET CH <NTH ,ZWORD-BUF .N>>
|
||||
<COND (<0? .CH> <PRINC " "> <SET TCASE -1>)
|
||||
(<G? 4 .CH>
|
||||
<PRINC "F">
|
||||
<PRINC <ASCII <+ 48 .CH>>>
|
||||
<SET TCASE -1>)
|
||||
(<AND <==? -1 .TCASE> <SET TCASE .CASE> <>>)
|
||||
(<==? 4 .CH>
|
||||
<COND (<0? .TCASE> <SET TCASE 1>)
|
||||
(<1? .TCASE> <SET CASE 1>)
|
||||
(T <SET CASE 0>)>)
|
||||
(<==? 5 .CH>
|
||||
<COND (<0? .TCASE> <SET TCASE 2>)
|
||||
(<1? .TCASE> <SET CASE 0>)
|
||||
(T <SET CASE 2>)>)
|
||||
(<0? .TCASE> <PRINC <ASCII <+ 91 .CH>>> <SET TCASE -1>)
|
||||
(<1? .TCASE> <PRINC <ASCII <+ 59 .CH>>> <SET TCASE -1>)
|
||||
(<==? 6 .CH>
|
||||
<PRINC <ASCII <+ <NTH ,ZWORD-BUF <+ 2 .N>>
|
||||
<* 32 <NTH ,ZWORD-BUF <+ 1 .N>>>>>>
|
||||
<SET N <+ 2 .N>>
|
||||
<SET TCASE -1>)
|
||||
(T<PRINC <NTH ,SPEC-CHARS <- .CH 6>>> <SET TCASE -1>)>>>
|
||||
|
||||
<SETG SPEC-CHARS "|0123456789.,!?_#'\"/\\-:()">
|
||||
<GDECL (SPEC-CHARS) STRING>
|
||||
74
vocab.noun
Normal file
74
vocab.noun
Normal file
@@ -0,0 +1,74 @@
|
||||
AIR ALARM AMY ANTRIM AQUADO
|
||||
AREA ARM ARMS ARROW ARTICL
|
||||
ASSIST AUTO AUTOMA AUTOPI BADGE
|
||||
BADGES BAY BAZOOK BEAM BED
|
||||
BELL BENCH BILL BIOCEP BLIP
|
||||
BLUEPR BLY BOAT BOOK BOX
|
||||
BOY BREAK BREAKE BREEZE BUMPER
|
||||
BUNCH BUNK BUSINE BUTTON BUZZER
|
||||
CABINE CABLE CALL CANIST CAPSUL
|
||||
CAT CENTER CENTRE CHAIR CHAIRS
|
||||
CHARGE CHEMIC CHORE CIRCUI CLAW
|
||||
CLAWS CLOSET CLUE CLUSTE COMMAN
|
||||
COMPAN COMPUT CONTAC CONTEN CONTRO
|
||||
CORRID COUNTE COVER CREATU CREW
|
||||
CRUISE CRUSH CYLIND DAMAGE DANGER
|
||||
DART DECK DEPOSI DEPTH DEPTHF
|
||||
DESK DESTRO DEVICE DIAGRA DIARY
|
||||
DIRECT DIVER DIVERS DIVING DOC
|
||||
DOCK DOME DOOR DOORWA DORM
|
||||
DORMIT DRAWER ELECTR ENGINE ENTRAN
|
||||
EQUIPM EVIDEN EXPERT EXPLOS FAST
|
||||
FASTER FIELD FILE FILES FINDER
|
||||
FLIP FLOOR FREIGH FURNIT GALLEY
|
||||
GAME GANGPL GASH GATE GATES
|
||||
GAUGE GAUGES GEAR GEARS GENERA
|
||||
GIRL GREENU GRID GRIDS GROUND
|
||||
GUN HALF HALL HALLWA HANDLE
|
||||
HATCH HE HELP HER HERE
|
||||
HERSEL HIGH HIM HIMSEL HINT
|
||||
HOLE HOOK HORVAK HOUSIN HYDROJ
|
||||
HYDROP I IDEA INSERT INSTAL
|
||||
INSTRU INTERC IT JEROME JOB
|
||||
JOYSTI JUNK KEEL KEMP KEY
|
||||
KNOB KNOBS LAB LABORA LADDER
|
||||
LEFT LEVER LIGHT LIGHTS LOAD
|
||||
LOCKER LOGBOO LOT LOW LOWELL
|
||||
M MACHIN MAG MAGAZI MAN
|
||||
MANUAL MARV MATERI MATTER MAXIMU
|
||||
ME MECHAN MEDIC MEDIUM MESS
|
||||
METER METERS METRES MICK MICROP
|
||||
MIKE MINIMU MINUTE MOISTU MONITO
|
||||
MONSTE MORE MOTIVE MOUNT MYSELF
|
||||
NEEDLE NEWSPA NODULE NOTHIN OBJECT
|
||||
OCEAN OFF OFFICE OPERAT OVERHE
|
||||
OXYGEN P PAGE PANEL PAPER
|
||||
PAPERS PART PARTS PHONE PHOTO
|
||||
PHOTOG PICTUR PILOT PLACE PLAN
|
||||
PLANS PLATE POD PORCH PORT
|
||||
POWER PROBLE PUT RAMP RANDAL
|
||||
REACTO REASON RECEIV REGULA RELAY
|
||||
REPORT RIGHT ROOF ROOM RUNWAY
|
||||
SABOTA SAILOR SATELL SB SCANNE
|
||||
SCIMIT SCOPE SCREEN SEA SEACAT
|
||||
SEASTA SEAT SEAWAT SECTIO SHARON
|
||||
SHE SHELF SHELVE SHIP SHOP
|
||||
SHUT SIEGEL SIGN SIGNAL SLOW
|
||||
SLOWER SLUG SMASH SNAPSH SNARK
|
||||
SOMETH SONAR SONARP SONARS SOS
|
||||
SOUND SPACE SPEAKE SPEED SQUARE
|
||||
STAIN STARBO STARTE STATIO STICK
|
||||
STILL STOP STORY STRAW STUFF
|
||||
SUB SUBMAR SUMMON SUPPLI SUPPLY
|
||||
SURFAC SWING SWITCH SYRING SYSTEM
|
||||
TABLE TANK TEAR TECHNI TEMPER
|
||||
TESTER TESTOR THEM THEY THING
|
||||
THIS THORPE THREAT THROTT TIP
|
||||
TOOL TOP TRACK TRACTO TRAITO
|
||||
TRANSM TRAP TURBIN TURN TURNS
|
||||
UNDERW UNIT UNLIMI US VALVE
|
||||
VALVES VIDEOP VIEWPO WALKWA WALL
|
||||
WALT WARNIN WATER WE WEAPON
|
||||
WHALE WIND WINDOW WOMAN WORK
|
||||
WORKBE WORKCO WORKSH WRENCH YOU
|
||||
YOURSE
|
||||
5
vocab.prep
Normal file
5
vocab.prep
Normal file
@@ -0,0 +1,5 @@
|
||||
ABOUT AGAINS AROUND AT AWAY
|
||||
BEHIND BY DOWN FOR FROM
|
||||
IN OFF ON OUT OVER
|
||||
RID THROUG TILL TO UNDER
|
||||
UNTIL UP WITH
|
||||
23
vocab.verb
Normal file
23
vocab.verb
Normal file
@@ -0,0 +1,23 @@
|
||||
ADJUST AIM ANSWER APPLY ARM
|
||||
ARREST ASK ATTACK BRIEF BRING
|
||||
BRUSH CALL CLIMB CLOSE COME
|
||||
CONFRO CUT DAMAGE DIAGNO DISCUS
|
||||
DIVE DOCK DRINK DROP EAT
|
||||
EMPTY ENTER EXAMIN EXTING FILL
|
||||
FIND FIRE FIT FIX FOLLOW
|
||||
GOODBY HAND HANG HELLO HELP
|
||||
HIDE I INVENT KILL KISS
|
||||
KNOCK LAUNCH LEAVE LEVEL LISTEN
|
||||
LOCK LOOK MAKE MATCH MOVE
|
||||
NAME NO NOD OPEN PICK
|
||||
PLACE PLAY PULL PUMP PUSH
|
||||
QUIT RAISE READ RELEAS RESTAR
|
||||
RESTOR RING RISE RUB SAVE
|
||||
SAY SCORE SCREW SCRIPT SEARCH
|
||||
SEND SET SHOW SIT SLAP
|
||||
SMELL SMILE SMOKE STAND START
|
||||
STOP STRIKE SUPER SURFAC SWIM
|
||||
SWITCH TAKE TELL TEST THANKS
|
||||
THROW TIE TURN UNLOCK UNSCRI
|
||||
UNTIE USE VERBOS WAIT WAKE
|
||||
WALK YELL YES
|
||||
201
zork1.script
Normal file
201
zork1.script
Normal file
@@ -0,0 +1,201 @@
|
||||
|
||||
ZORK I: The Great Underground Empire
|
||||
Copyright (c) 1981, 1982, 1983 Infocom, Inc. All rights reserved.
|
||||
ZORK is a registered trademark of Infocom, Inc.
|
||||
Revision 64 / Serial number 830915
|
||||
|
||||
The Troll Room
|
||||
This is a small room with passages to the east and south and a forbidding
|
||||
hole leading west. Bloodstains and deep scratches (perhaps made by
|
||||
an axe) mar the walls.
|
||||
A nasty-looking troll, brandishing a bloody axe, blocks all passages
|
||||
out of the room.
|
||||
Your sword has begun to glow very brightly.
|
||||
|
||||
>TROLL, HELLO
|
||||
|
||||
The troll isn't much of a conversationalist.
|
||||
|
||||
>STAB TROLL
|
||||
|
||||
Clang! Crash! The troll parries.
|
||||
The axe gets you right in the side. Ouch!
|
||||
|
||||
>ATTACK TROLL
|
||||
|
||||
(with the sword)
|
||||
Clang! Crash! The troll parries.
|
||||
The troll neatly removes your head.
|
||||
It appears that that last blow was too much for you. I'm afraid you
|
||||
are dead.
|
||||
|
||||
**** You have died ****
|
||||
|
||||
The Troll Room
|
||||
This is a small room with passages to the east and south and a forbidding
|
||||
hole leading west. Bloodstains and deep scratches (perhaps made by
|
||||
an axe) mar the walls.
|
||||
A nasty-looking troll, brandishing a bloody axe, blocks all passages
|
||||
out of the room.
|
||||
Your sword has begun to glow very brightly.
|
||||
The axe crashes against the rock, throwing sparks!
|
||||
|
||||
>ATTACK TROLL WITH SWORD
|
||||
|
||||
Clang! Crash! The troll parries.
|
||||
The troll swings his axe, but it misses.
|
||||
|
||||
>THRUST
|
||||
|
||||
(sword)
|
||||
Whoosh!
|
||||
The troll swings, you parry, but the force of his blow knocks your
|
||||
sword away.
|
||||
|
||||
>GET SWORD
|
||||
|
||||
Taken.
|
||||
The troll's axe barely misses your ear.
|
||||
|
||||
>HIT TROLL
|
||||
|
||||
(with the sword)
|
||||
You charge, but the troll jumps nimbly aside.
|
||||
The axe sweeps past as you jump aside.
|
||||
|
||||
>STAB IT
|
||||
|
||||
You charge, but the troll jumps nimbly aside.
|
||||
The troll swings his axe, and it nicks your arm as you dodge.
|
||||
|
||||
>DIAGNOSE
|
||||
|
||||
You have a light wound, which will be cured after 30 moves.
|
||||
You can be killed by one more light wound.
|
||||
The axe crashes against the rock, throwing sparks!
|
||||
|
||||
>ATTACK TROLL WITH SWORD
|
||||
|
||||
The troll is battered into unconsciousness.
|
||||
|
||||
>TAKE THE AXE
|
||||
|
||||
Taken.
|
||||
|
||||
>WAKE UP TROLL
|
||||
|
||||
The troll is rudely awakened.
|
||||
The troll stirs, quickly resuming a fighting stance.
|
||||
The troll, disarmed, cowers in terror, pleading for his life in the
|
||||
guttural tongue of the trolls.
|
||||
|
||||
>GIVE THE AXE TO THE TROLL
|
||||
|
||||
The troll scratches his head in confusion, then takes the axe.
|
||||
The troll neatly removes your head.
|
||||
It appears that that last blow was too much for you. I'm afraid you
|
||||
are dead.
|
||||
|
||||
**** You have died ****
|
||||
|
||||
The Troll Room
|
||||
This is a small room with passages to the east and south and a forbidding
|
||||
hole leading west. Bloodstains and deep scratches (perhaps made by
|
||||
an axe) mar the walls.
|
||||
A nasty-looking troll, brandishing a bloody axe, blocks all passages
|
||||
out of the room.
|
||||
Your sword has begun to glow very brightly.
|
||||
The axe gets you right in the side. Ouch!
|
||||
|
||||
>STAB TROLL
|
||||
|
||||
The troll's weapon is knocked to the floor, leaving him unarmed.
|
||||
The troll, angered and humiliated, recovers his weapon. He appears
|
||||
to have an axe to grind with you.
|
||||
|
||||
>FIGHT TROLL
|
||||
|
||||
(with the sword)
|
||||
The fatal blow strikes the troll square in the heart: He dies.
|
||||
Almost as soon as the troll breathes his last breath, a cloud of sinister
|
||||
black fog envelops him, and when the fog lifts, the carcass has disappeared.
|
||||
Your sword is no longer glowing.
|
||||
|
||||
>TAKE AXE
|
||||
|
||||
Taken.
|
||||
|
||||
The Troll Room
|
||||
This is a small room with passages to the east and south and a forbidding
|
||||
hole leading west. Bloodstains and deep scratches (perhaps made by
|
||||
an axe) mar the walls.
|
||||
A nasty-looking troll, brandishing a bloody axe, blocks all passages
|
||||
out of the room.
|
||||
Your sword has begun to glow very brightly.
|
||||
|
||||
>THROW LANTERN AT TROLL
|
||||
|
||||
The troll, who is remarkably coordinated, catches the brass lantern
|
||||
and not having the most discriminating tastes, gleefully eats it.
|
||||
You are left in the dark...
|
||||
|
||||
>STAB TROLL
|
||||
|
||||
It's too dark to see!
|
||||
|
||||
>FIND TROLL
|
||||
|
||||
It's too dark to see!
|
||||
|
||||
>EXAMINE SWORD
|
||||
|
||||
Your sword is glowing very brightly.
|
||||
|
||||
>ATTACK TROLL
|
||||
|
||||
(with the sword)
|
||||
It's too dark to see!
|
||||
|
||||
>FIND LIGHT
|
||||
|
||||
It's too dark to see!
|
||||
|
||||
>S
|
||||
|
||||
Oh, no! A lurking grue slithered into the room and devoured you!
|
||||
|
||||
**** You have died ****
|
||||
|
||||
The Troll Room
|
||||
This is a small room with passages to the east and south and a forbidding
|
||||
hole leading west. Bloodstains and deep scratches (perhaps made by
|
||||
an axe) mar the walls.
|
||||
A nasty-looking troll, brandishing a bloody axe, blocks all passages
|
||||
out of the room.
|
||||
Your sword has begun to glow very brightly.
|
||||
|
||||
>KNOCK AXE
|
||||
|
||||
That sentence isn't one I recognize.
|
||||
|
||||
>THROW SWORD
|
||||
|
||||
(at the troll)
|
||||
The troll, who is remarkably coordinated, catches the sword and, being
|
||||
for the moment sated, throws it back. Fortunately, the troll has poor
|
||||
control, and the sword falls to the floor. He does not look pleased.
|
||||
The axe gets you right in the side. Ouch!
|
||||
|
||||
>TAKE SWORD
|
||||
|
||||
Taken.
|
||||
The axe hits your sword and knocks it spinning.
|
||||
|
||||
>AGAIN
|
||||
|
||||
Taken.
|
||||
The troll neatly removes your head.
|
||||
It appears that that last blow was too much for you. I'm afraid you
|
||||
are dead.
|
||||
|
||||
**** You have died ****
|
||||
Reference in New Issue
Block a user