1
0
mirror of https://github.com/historicalsource/seastalker.git synced 2026-01-11 23:22:43 +00:00
historicalsource 7ef7f3e553 Final Revision
2019-04-13 22:35:09 -04:00

1413 lines
37 KiB
Plaintext

.FUNCT AQUADOME-F
EQUAL? PRSA,V?WHAT,V?FIND /?THN6
EQUAL? PRSA,V?ASK-ABOUT \?ELS5
FSET? PRSO,PERSON \?ELS5
?THN6: EQUAL? NOW-TERRAIN,SEA-TERRAIN \?ELS14
EQUAL? HERE,SUB \?ELS14
CALL PERFORM,V?FIND,PLAYER
RTRUE
?ELS14: ZERO? SUB-IN-OPEN-SEA /?ELS18
PRINTI "Its location is stored in the "
PRINTD AUTO-PILOT
PRINTR "'s computer memory."
?ELS18: ZERO? SUB-IN-DOME \FALSE
EQUAL? NOW-TERRAIN,SEA-TERRAIN /FALSE
PRINTI """The "
PRINTD AQUADOME
PRINTI " encloses the "
PRINT URS
PRINTI " of "
PRINTD IU-GLOBAL
PRINTI ", on the ocean floor off the Atlantic coast. Most "
CALL PRINT-NAME,LAST-NAME
PRINTI " subs can reach it by "
PRINTD AUTO-PILOT
PRINTR "."""
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS29
LESS? DISTANCE-FROM-BAY,AQUADOME-VISIBLE /?ELS29
SET 'P-WON,FALSE-VALUE
GETP LOCAL-SUB,P?TEXT
PRINT STACK
CRLF
RTRUE
?ELS29: EQUAL? PRSA,V?LOOK-OUTSIDE,V?LOOK-INSIDE \?ELS35
CALL PERFORM,PRSA,WINDOW
RTRUE
?ELS35: EQUAL? PRSA,V?THROUGH \?ELS37
EQUAL? HERE,SUB,CRAWL-SPACE \FALSE
PRINTR "Wait until you're close enough."
?ELS37: EQUAL? PRSA,V?WALK-AROUND \?ELS46
CALL GO-NEXT,IN-DOME-AROUND
ZERO? STACK /TRUE
EQUAL? WINNER,PLAYER /TRUE
CALL OKAY
RTRUE
?ELS46: EQUAL? PRSA,V?WALK-TO \FALSE
ZERO? SUB-IN-DOME /?ELS58
PRINTR "You're in it!"
?ELS58: ZERO? SUB-IN-OPEN-SEA /?ELS63
PRINTI "Let the "
PRINTD AUTO-PILOT
PRINTR " handle that."
?ELS63: PRINTR "First you must reach the open sea."
.FUNCT IN-DOME?,RM
EQUAL? RM,SUB,CRAWL-SPACE \?ELS5
RETURN SUB-IN-DOME
?ELS5: CALL ZMEMQ,RM,IN-DOME-AROUND
ZERO? STACK /FALSE
RTRUE
.FUNCT AIR-ROOM?,RM
EQUAL? RM,FOOT-OF-RAMP,AIRLOCK,AIRLOCK-WALL /TRUE
EQUAL? RM,CENTER-OF-DOME,OUTSIDE-ADMIN-BLDG /TRUE
EQUAL? RM,BLY-OFFICE,SUB /TRUE
RFALSE
.FUNCT THROUGH-ROOF?,RM,HR=0
ZERO? HR \?CND1
SET 'HR,HERE
?CND1: EQUAL? HR,SUB,CRAWL-SPACE,AIRLOCK \?ELS8
EQUAL? RM,SUB,CRAWL-SPACE,AIRLOCK /FALSE
RTRUE
?ELS8: EQUAL? RM,SUB,CRAWL-SPACE,AIRLOCK /TRUE
RFALSE
.FUNCT WINDOW-F,POP
EQUAL? PRSA,V?BRUSH \?ELS5
PRINTR "The window is clean enough without your interference."
?ELS5: EQUAL? PRSA,V?EXAMINE \?ELS9
PRINTR "The window is a simple plastic sheet, giving a view of the dome outside."
?ELS9: EQUAL? PRSA,V?LOOK-OUTSIDE,V?LOOK-INSIDE \?ELS13
ZERO? SNARK-ATTACK-COUNT \?ELS18
PRINTR "You can see the dome outside."
?ELS18: MOVE BLY,HERE
PRINTI "The "
PRINTD AQUADOME
PRINTI "'s search lights probe the ocean, but the "
PRINTD GLOBAL-WATER
PRINTI " is too murky for the beams to penetrate.
""Tip's right!"" "
PRINTD BLY
PRINTI " says. ""That must be the "
PRINTD SNARK
PRINTI " out there. Its tentacles churned up silt from the seabed that way during its first attack, "
CALL PRINT-NAME,FIRST-NAME
PRINTR "!"""
?ELS13: EQUAL? PRSA,V?MUNG \?ELS26
PRINTR "Vandalism is for vandals, not famous inventors!"
?ELS26: EQUAL? PRSA,V?UNLOCK /?THN31
EQUAL? PRSA,V?LOCK,V?CLOSE,V?OPEN \FALSE
?THN31: PRINTR "The window can't be opened."
.FUNCT EXERCISE-TRACK-F
EQUAL? PRSA,V?WALK-TO,V?THROUGH,V?FIND \FALSE
ZERO? SUB-IN-DOME /FALSE
PRINTR "You don't need exercise!"
.FUNCT AIRLOCK-F,RARG=0
EQUAL? RARG,M-ENTER \?ELS5
ZERO? GREENUP-ESCAPE \?THN11
ZERO? GREENUP-TRAPPED /FALSE
?THN11: MOVE LOWELL,HERE
MOVE ANTRIM,HERE
PRINTR "Two of the crew are with you."
?ELS5: EQUAL? RARG,M-LOOK \?ELS16
PRINTI "You're now in the "
PRINTD AIRLOCK
PRINTR ", at the foot of the ramp."
?ELS16: ZERO? RARG \FALSE
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 \?ELS27
CALL NOT-HERE,AIRLOCK
RSTACK
?ELS27: EQUAL? PRSA,V?EMPTY \?ELS31
ZERO? AIRLOCK-FULL \?ELS36
CALL ALREADY,AIRLOCK,STR?65
RSTACK
?ELS36: FSET? AIRLOCK-HATCH,OPENBIT \?ELS38
CALL YOU-CANT,FALSE-VALUE,AIRLOCK-HATCH,STR?21
RSTACK
?ELS38: EQUAL? HERE,SUB,CRAWL-SPACE /?THN41
EQUAL? HERE,BLY-OFFICE,FOOT-OF-RAMP \FALSE
?THN41: CALL QUEUE,I-AIRLOCK-EMPTY,2
PUT STACK,0,1
PRINTR "This will take 1 turn."
?ELS31: EQUAL? PRSA,V?FILL \?ELS46
ZERO? AIRLOCK-FULL /?ELS49
CALL ALREADY,AIRLOCK,STR?66
RTRUE
?ELS49: FSET? AIRLOCK-ELECTRICITY,ONBIT /?ELS52
CALL YOU-CANT,FALSE-VALUE,AIRLOCK-ELECTRICITY,STR?39
RTRUE
?ELS52: CALL AIRLOCK-POP?
ZERO? STACK /?CND47
CALL YOU-CANT,FALSE-VALUE,AIRLOCK,STR?67
RTRUE
?CND47: ZERO? GREENUP-ESCAPE \?CND55
FSET? SUB-DOOR,OPENBIT \?CND58
CALL YOU-CANT,FALSE-VALUE,SUB-DOOR,STR?21
RTRUE
?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!"
?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."
?ELS70: EQUAL? HERE,SUB,CRAWL-SPACE /?THN79
EQUAL? HERE,BLY-OFFICE,FOOT-OF-RAMP \FALSE
?THN79: CALL QUEUE,I-AIRLOCK-EMPTY,2
PUT STACK,0,1
PRINTR "This will take 1 turn."
?ELS46: EQUAL? PRSA,V?CLOSE,V?OPEN \?ELS84
CALL PERFORM,PRSA,AIRLOCK-HATCH
RTRUE
?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
?CND87: SET 'PRSO,AIRLOCK
CALL CHEERS?
RFALSE
.FUNCT CHEERS?
EQUAL? WINNER,PLAYER \FALSE
CALL ZMEMQ,HERE,IN-DOME-AROUND
ZERO? STACK /FALSE
EQUAL? HERE,AIRLOCK,AIRLOCK-WALL /FALSE
CALL READY-FOR-SNARK?
ZERO? STACK /FALSE
PRINTI "Cheers follow as you start up the ladder into the "
PRINTD AIRLOCK
PRINTR "."
.FUNCT I-AIRLOCK-EMPTY
ZERO? AIRLOCK-FULL /?ELS5
FSET? AIRLOCK-HATCH,OPENBIT /FALSE
SET 'AIRLOCK-FULL,FALSE-VALUE
CRLF
PRINTI "The "
PRINTD AIRLOCK
PRINTI " is now clear of "
PRINTD GLOBAL-WATER
PRINTI " and filled with air at sea-level pressure."
FSET? ENGINE,ONBIT \?CND12
FCLEAR ENGINE,ONBIT
PRINTI " The engine shuts off."
?CND12: FSET AIRLOCK-ROOF,OPENBIT
CALL THIS-IS-IT,SUB-DOOR
CRLF
PRINTI "The roof of the "
PRINTD AIRLOCK
PRINTI " is sliding open, and the "
PRINTD SUB
PRINTI " is in dry dock.
A ramp swings down from the top of the "
PRINTD AIRLOCK
PRINTI "'s north wall to your "
PRINTD SUB-DOOR
PRINTI "."
CRLF
RETURN 2
?ELS5: SET 'AIRLOCK-FULL,TRUE-VALUE
CRLF
PRINTI "The "
PRINTD AIRLOCK
PRINTI " is now filled with "
PRINTD GLOBAL-WATER
PRINTI "."
CRLF
ZERO? SUB-IN-DOME /FALSE
PRINTI "The adjustable cradle then releases the "
PRINTD SUB
PRINTR "'s keel from its grip."
.FUNCT GREENUP-LADDER-F
EQUAL? PRSA,V?THROUGH,V?CLIMB-UP /?THN6
EQUAL? PRSA,V?CLIMB-ON,V?CLIMB-DOWN,V?BOARD \FALSE
?THN6: PRINTI "The "
PRINTD GREENUP-LADDER
PRINTR " is only for emergencies."
.FUNCT AIRLOCK-RAMP-F
EQUAL? PRSA,V?CLIMB-ON,V?CLIMB-DOWN,V?BOARD \?ELS5
EQUAL? HERE,AIRLOCK-WALL \?ELS5
CALL DO-WALK,P?SOUTH
RTRUE
?ELS5: EQUAL? PRSA,V?CLIMB-ON,V?CLIMB-UP,V?BOARD \FALSE
EQUAL? HERE,AIRLOCK \FALSE
CALL DO-WALK,P?NORTH
RTRUE
.FUNCT AIRLOCK-WALL-F,ARG=0
EQUAL? ARG,M-LOOK \FALSE
PRINTI "You're now atop the north wall of the "
PRINTD AQUADOME
PRINTI "'s "
PRINTD AIRLOCK
PRINTI "."
CRLF
PRINTI "This gives you a bird's-eye view of the whole "
PRINT URS
PRINTI " of "
PRINTD IU-GLOBAL
PRINTI ".
The dome is a transparent hemisphere made of plastic of great strength, developed by you for this specific purpose. The dome encloses the four attached buildings of the "
PRINT URS
PRINTI ": the workshop/lab and dormitory in the western half of the dome, and the administration and communication buildings in the eastern half.
"
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?CND10
PRINTI "In the very center is the "
PRINTD AIR-SUPPLY-SYSTEM
PRINTI ". This is in a cylinder that runs from the floor to the top of the dome. It extracts oxygen from "
PRINTD GLOBAL-WATER
PRINTI " and emits it through small holes around its base to keep the air fresh at all times.
"
?CND10: PRINTI "A ladder goes from here down to the floor of the "
PRINTD AQUADOME
PRINTI ", outside the "
PRINTD AIRLOCK
PRINTI "'s north wall.
"
CALL CREW-5-TOGETHER?
ZERO? STACK /FALSE
IN? CREW,FOOT-OF-RAMP \FALSE
FSET? BLY,MUNGBIT /FALSE
PRINTD BLY
PRINTI " and her five "
PRINTD CREW
PRINTI " are"
FSET? FOOT-OF-RAMP,TOUCHBIT /?CND26
PRINTI " waiting to greet you"
?CND26: PRINTR " at the foot of this ladder."
.FUNCT AIRLOCK-LADDER-F
EQUAL? PRSA,V?CLIMB-ON,V?CLIMB-DOWN,V?BOARD \?ELS5
EQUAL? HERE,AIRLOCK-WALL \?ELS5
CALL DO-WALK,P?NORTH
RTRUE
?ELS5: EQUAL? PRSA,V?CLIMB-ON,V?CLIMB-UP,V?BOARD \FALSE
EQUAL? HERE,FOOT-OF-RAMP \FALSE
CALL DO-WALK,P?SOUTH
RTRUE
.FUNCT CREW-F
ZERO? DOME-AIR-BAD? /?THN8
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT /?ELS5
?THN8: EQUAL? PRSA,V?ASK-ABOUT \?ELS13
FSET? PRSO,PERSON \?ELS13
EQUAL? PRSI,CREW-GLOBAL,CREW /?THN10
?ELS13: EQUAL? PRSA,V?WHAT \?ELS15
EQUAL? PRSO,CREW-GLOBAL,CREW /?THN10
?ELS15: EQUAL? PRSA,V?TELL-ABOUT \?ELS5
EQUAL? PRSO,PLAYER \?ELS5
?THN10: PRINTI """The crew consists of:
Doctor Walt Horvak, marine biologist and first-aid medic;
"
PRINTD ANTRIM
PRINTI ", laser expert and frogman;
"
PRINTD SIEGEL
PRINTI ", electronics expert in charge of communications; and
"
PRINTD GREENUP
PRINTI " and "
PRINTD LOWELL
PRINTR ", diver-technicians."""
?ELS5: EQUAL? PRSA,V?TELL-ABOUT,V?TELL /?THN24
EQUAL? PRSA,V?ASK-FOR,V?ASK-ABOUT,V?ASK \?ELS21
?THN24: EQUAL? PRSO,CREW \?ELS21
PRINTI "You'd better talk to one crew member at a time."
CRLF
RETURN 2
?ELS21: EQUAL? PRSA,V?HELLO,V?GOODBYE \?ELS31
EQUAL? PRSO,CREW \?ELS31
PRINTD PRSO
PRINTR " nods at you."
?ELS31: EQUAL? PRSA,V?EXAMINE,V?DIAGNOSE \FALSE
ZERO? DOME-AIR-BAD? /?ELS42
PRINTD BLY
PRINTR " and the two divers, Greenup and Lowell, are without oxygen."
?ELS42: PRINTR "All the crew members are okay now."
.FUNCT CREW-GLOBAL-F,L
CALL SPEAKING-VERB?
ZERO? STACK /?ELS5
EQUAL? PRSO,CREW-GLOBAL \?ELS5
PRINTI "The "
PRINTD CREW-GLOBAL
CALL NOT-HERE-PERSON,CREW
SET 'P-CONT,FALSE-VALUE
RTRUE
?ELS5: EQUAL? PRSA,V?WALK-TO \?ELS11
CALL PERFORM,PRSA,CREW
RTRUE
?ELS11: CALL CREW-F
RSTACK
.FUNCT GENERIC-BADGE-F,OBJ
RETURN BADGE-GLOBAL
.FUNCT BADGE-GLOBAL-F
ZERO? SUB-IN-DOME /?THN6
CALL FIND-FLAG,HERE,PERSON,WINNER
ZERO? STACK \?ELS5
?THN6: CALL NOT-HERE,BADGE-GLOBAL-3
RSTACK
?ELS5: EQUAL? PRSA,V?READ,V?EXAMINE,V?ANALYZE \FALSE
CALL EXAMINE-BADGE
CRLF
RTRUE
.FUNCT EXAMINE-BADGE
ZERO? DOME-AIR-BAD? /?ELS5
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS11
PRINTI "The badge is turning red! The air is becoming unbreathable!"
RTRUE
?ELS11: PRINTI "The badge is less red now. The air is improving."
RTRUE
?ELS5: PRINTI "When a badge turns red, the air is no longer breathable. It's not red now."
RTRUE
.FUNCT BAD-AIR?
ZERO? DOME-AIR-BAD? /FALSE
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \FALSE
CALL AIR-SUPPLY-VERB?
ZERO? STACK \FALSE
PRINTI "Shouldn't you fix the "
PRINTD AIR-SUPPLY-SYSTEM
PRINTR " first?"
.FUNCT TROUBLE-BREATHING?
EQUAL? PRSA,V?WAIT-UNTIL,V?WAIT-FOR /FALSE
IN? OXYGEN-GEAR,PLAYER \?THN8
FSET? OXYGEN-GEAR,ONBIT /FALSE
?THN8: PRINTI "You are having "
GRTR? 13,DOME-AIR-BAD? /?CND12
PRINTI "real "
?CND12: PRINTR "trouble breathing."
.FUNCT TIP-REPORTS?
EQUAL? HERE,CENTER-OF-DOME /FALSE
CALL CORRIDOR-LOOK,AIR-SUPPLY-SYSTEM
ZERO? STACK \FALSE
EQUAL? HERE,SUB,CRAWL-SPACE,AIRLOCK \?CND8
MOVE TIP,AIRLOCK-WALL
?CND8: PRINTI "Tip, who is standing near the exit, reports that "
RTRUE
.FUNCT I-DOME-AIR,CALLED?=0,X
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \?ELS5
ZERO? DOME-AIR-BAD? \?CND6
SET 'DOME-AIR-BAD?,INITIAL-DOME-AIR-BAD
SET 'DOME-AIR-CRIME,TRUE-VALUE
CALL QUEUE,I-DOME-AIR,-1
PUT STACK,0,1
CALL VISIBLE?,BLY >X
FSET BLY,MUNGBIT
FSET GREENUP,MUNGBIT
FSET LOWELL,MUNGBIT
CALL TIP-REPORTS?
ZERO? STACK \?CND9
PRINTI "Suddenly you realize that "
?CND9: PRINTI "Zoe is literally gasping for breath. Her face is turning reddish-purple! She clutches her throat...
Everyone"
ZERO? CALLED? /?ELS18
JUMP ?CND16
?ELS18: IN? OXYGEN-GEAR,PLAYER \?ELS21
FSET? OXYGEN-GEAR,ONBIT \?ELS21
PRINTI ", except you,"
JUMP ?CND16
?ELS21: PRINTI ", including yourself,"
?CND16: PRINTR " is having trouble breathing!"
?CND6: CALL TROUBLE-BREATHING?
INC 'DOME-AIR-BAD?
EQUAL? 7,DOME-AIR-BAD? \?ELS36
CRLF
PRINTI "In 10 turns Bly, Greenup and Lowell, who were not carrying "
PRINTD OXYGEN-GEAR
PRINTI ", will suffocate from lack of oxygen. In 20 turns, "
IN? OXYGEN-GEAR,PLAYER \?ELS41
PRINTI "you and the others"
JUMP ?CND39
?ELS41: PRINTI "those"
?CND39: PRINTI " who do have "
PRINTD OXYGEN-GEAR
PRINTR " will have exhausted their supply of oxygen. Need we say more?"
?ELS36: EQUAL? 13,DOME-AIR-BAD? \?ELS51
CRLF
PRINTI "Zoe Bly and the two crew members without "
PRINTD OXYGEN-GEAR
PRINTI " now have only 4 TURNS left to live! Their lives depend on you, "
CALL PRINT-NAME,FIRST-NAME
PRINTI "!"
CRLF
FSET? ACCESS-PLATE,OPENBIT /TRUE
FSET? UNIVERSAL-TOOL,TOUCHBIT /TRUE
FSET UNIVERSAL-TOOL,TOUCHBIT
FCLEAR UNIVERSAL-TOOL,NDESCBIT
MOVE UNIVERSAL-TOOL,PLAYER
PRINTI "Tip"
IN? TIP,HERE /?CND61
MOVE TIP,HERE
PRINTI " runs up and"
?CND61: PRINTI " gives you a "
PRINTD UNIVERSAL-TOOL
PRINTI " and says, ""Here, "
CALL PRINT-NAME,FIRST-NAME
FSET? CENTER-OF-DOME,TOUCHBIT \?ELS70
PRINTR ", open the cylinder with this! It'll fit anything!"""
?ELS70: PRINTI ", maybe you can use this somehow."""
CRLF
RTRUE
?ELS51: EQUAL? 17,DOME-AIR-BAD? \FALSE
LOC SPECIAL-TOOL
EQUAL? STACK,BLY-OFFICE,HORVAK /?PRD79
PUSH 0
JUMP ?PRD80
?PRD79: PUSH 1
?PRD80: SET 'X,STACK
MOVE HORVAK,CENTER-OF-DOME
PRINTI "
At this desperate moment, "
CALL TIP-REPORTS?
PRINTD HORVAK
PRINTI " runs from the "
PRINTD BLY-OFFICE
ZERO? X /?ELS89
LOC ELECTROLYTE-RELAY
EQUAL? STACK,AIR-SUPPLY-SYSTEM,CENTER-OF-DOME,HORVAK \?ELS89
CALL QUEUE,I-BLY-PRIVATELY,3
PUT STACK,0,1
MOVE SPECIAL-TOOL,HORVAK
FCLEAR SPECIAL-TOOL,INVISIBLE
FSET SPECIAL-TOOL,TOUCHBIT
REMOVE SPECIAL-TOOL-GLOBAL
CALL FIX-AIR-SUPPLY
SET 'HORVAK-FIXED-AIR,TRUE-VALUE
PRINTI ". He's clutching an oddly-shaped gadget.
"
CALL TIP-SAYS
PRINTI "Hey, that's the "
PRINTD SPECIAL-TOOL
PRINTI "!""
"
FSET? ACCESS-PLATE,OPENBIT /?CND96
FSET ACCESS-PLATE,OPENBIT
FSET AIR-SUPPLY-SYSTEM,OPENBIT
PRINTI "Using the "
PRINTD SPECIAL-TOOL
PRINTI ", "
PRINTD HORVAK
PRINTI " quickly opens the "
PRINTD ACCESS-PLATE
PRINTI ". "
?CND96: PRINTI "Inside the cylinder, the "
PRINTD ELECTROLYTE-RELAY
PRINTI " has come unscrewed and fallen out of its socket. Horvak"
IN? ELECTROLYTE-RELAY,HORVAK /?CND103
PRINTI " takes it and"
?CND103: PRINTI " screws it back in place; and within seconds, a fresh supply of oxygen is flowing out into the "
PRINTD AQUADOME
PRINTR "."
?ELS89: PRINTI ". He "
LOC HORVAK
EQUAL? HERE,STACK \?ELS118
PUSH STR?69
JUMP ?CND114
?ELS118: PUSH STR?62
?CND114: PRINT STACK
PRINTI "s, ""I never wanted it to go this far! I sabotaged the "
PRINTD AIR-SUPPLY-SYSTEM
PRINTI " to embarrass "
PRINTD BLY
PRINTI ", but now I can't find the "
ZERO? X /?ELS123
PRINTD ELECTROLYTE-RELAY
JUMP ?CND121
?ELS123: PRINTD SPECIAL-TOOL
?CND121: PRINTI " to fix it!""
As Doc breaks down in tears and Bly suffocates, you realize there's no point in continuing your mission."
CALL FINISH
RSTACK
?ELS5: SUB DOME-AIR-BAD?,DOME-AIR-FIX-RATE >DOME-AIR-BAD?
LESS? 0,DOME-AIR-BAD? /FALSE
CALL INT,I-DOME-AIR
PUT STACK,0,0
CALL QUEUE,I-ANTRIM-TO-SUB,10
PUT STACK,0,1
SET 'DOME-AIR-BAD?,FALSE-VALUE
FSET? BLY,MUNGBIT \FALSE
FCLEAR BLY,MUNGBIT
FCLEAR GREENUP,MUNGBIT
FCLEAR LOWELL,MUNGBIT
CALL VISIBLE?,BLY
ZERO? STACK /FALSE
CALL VISIBLE?,GREENUP
ZERO? STACK /FALSE
CALL VISIBLE?,LOWELL
ZERO? STACK /FALSE
ZERO? HORVAK-FIXED-AIR \?CND152
CRLF
PRINTD HORVAK
PRINTI " has just returned from the "
PRINTD BLY-OFFICE
PRINTI ", where he went to get Bly's "
PRINTD OXYGEN-GEAR
PRINTI ", but it's no longer needed."
CRLF
?CND152: CRLF
PRINTD BLY
PRINTI " 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."
CRLF
CALL TELL-HINT,41,ELECTROLYTE-RELAY
RTRUE
.FUNCT FOOT-OF-RAMP-F,ARG=0
EQUAL? ARG,M-BEG \?ELS5
EQUAL? PRSA,V?WALK \FALSE
EQUAL? PRSO,P?UP,P?SOUTH \FALSE
CALL CHEERS?
RFALSE
?ELS5: EQUAL? ARG,M-ENTER \?ELS17
CALL READY-FOR-SNARK?
ZERO? STACK \?THN23
ZERO? GREENUP-ESCAPE \?THN23
ZERO? GREENUP-TRAPPED /?ELS22
?THN23: MOVE BLY,HERE
MOVE ANTRIM,HERE
MOVE HORVAK,HERE
MOVE SIEGEL,HERE
MOVE LOWELL,HERE
ZERO? GREENUP-ESCAPE \?THN30
ZERO? GREENUP-TRAPPED /?ELS29
?THN30: PRINTI "The rest of the "
PRINTD CREW
PRINTR " are with you."
?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,TRUE-VALUE
PRINTD BLY
PRINTI " says, """
CALL BLY-WELCOME
PRINTR """"
?ELS17: EQUAL? ARG,M-LOOK \?ELS45
CALL CREW-5-TOGETHER?
ZERO? STACK /?ELS50
IN? CREW,FOOT-OF-RAMP \?ELS50
FSET? BLY,MUNGBIT /?ELS50
FSET? CREW,TOUCHBIT /?ELS57
FSET CREW,TOUCHBIT
CALL QUEUE,I-BLY-PRIVATELY,15
PUT STACK,0,1
PRINTI "You're now face-to-face with Zoe Bly and the "
PRINTD CREW
PRINTI ". They are wearing badges which show the air quality in the "
PRINTD AQUADOME
PRINTR "."
?ELS57: PRINTI "You're at the foot of the ladder. "
IN? BLY,FOOT-OF-RAMP \?ELS66
PRINTI "Zoe Bly and t"
JUMP ?CND64
?ELS66: PRINTI "T"
?CND64: PRINTI "he "
PRINTD CREW
PRINTR " are still here."
?ELS50: PRINTR "You're now at the foot of the ladder."
?ELS45: EQUAL? ARG,M-END \FALSE
EQUAL? EXCLAM-DOME-AIR-BAD,DOME-AIR-BAD? \FALSE
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT \FALSE
CRLF
CALL BADGES-RED,TRUE-VALUE
RTRUE
.FUNCT BADGES-RED,SHOUT?=0
ZERO? BADGES-RED-SAID? \FALSE
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 "
PRINTD OXYGEN-GEAR
PRINTR "!"""
.FUNCT OUTSIDE-DORM-F,RARG=0
EQUAL? RARG,M-LOOK \FALSE
CALL FROM-HERE,P?WEST,P?SOUTH
RSTACK
.FUNCT FROM-HERE,DIR1,DIR2
PRINTI "From here, you can go "
CALL DIR-PRINT,DIR1,FALSE-VALUE
PRINTI " or "
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?70
RSTACK
.FUNCT GENERIC-FURNITURE-F,OBJ
ZERO? SUB-IN-TANK /?ELS5
RETURN WORKBENCH
?ELS5: RETURN HORVAK-LOCKER
.FUNCT MENS-QUARTERS-F,RARG=0
EQUAL? RARG,M-LOOK \FALSE
CALL QUARTERS-F,MENS-QUARTERS,STR?71
RSTACK
.FUNCT QUARTERS-F,RM,STR
PRINTI "You're in the "
PRINTD RM
PRINTI ". "
PRINT STR
PRINTR " of the room is a bunk and locker. In the center of the room are a table and chairs."
.FUNCT HORVAK-LOCKER-F
EQUAL? PRSA,V?LOOK-INSIDE \?ELS5
FSET? HORVAK-LOCKER,OPENBIT \?ELS5
PRINTI "The locker contains mostly clothing, toilet articles and books."
IN? DIARY,HORVAK-LOCKER \?CND10
PRINTI " One of the books is labeled DIARY."
IN? PHOTO,DIARY \?CND10
FCLEAR PHOTO,INVISIBLE
PRINTI " Something has been inserted between its pages."
?CND10: CRLF
RTRUE
?ELS5: EQUAL? PRSA,V?UNLOCK,V?OPEN-WITH,V?OPEN \FALSE
EQUAL? PRSO,HORVAK-LOCKER \FALSE
FSET? HORVAK-LOCKER,OPENBIT /FALSE
FSET? HORVAK-LOCKER,LOCKED \?CND24
EQUAL? PRSI,UNIVERSAL-TOOL /?CND24
CALL THIS-IS-IT,HORVAK-KEY
PRINTI "It's locked. The normal way to open its lock (which you yourself designed, "
CALL PRINT-NAME,FIRST-NAME
PRINTR ") is with a key."
?CND24: FCLEAR HORVAK-LOCKER,LOCKED
FSET HORVAK-LOCKER,OPENBIT
FSET DIARY,TAKEBIT
CALL PERFORM,V?LOOK-INSIDE,HORVAK-LOCKER
RTRUE
.FUNCT HORVAK-KEY-F
EQUAL? PRSI,HORVAK \?ELS9
EQUAL? PRSA,V?TAKE /?THN6
?ELS9: EQUAL? PRSO,HORVAK \FALSE
EQUAL? PRSA,V?SEARCH-FOR,V?ASK-FOR \FALSE
?THN6: EQUAL? WINNER,PLAYER \?ELS16
PRINTI "Be warned, "
CALL PRINT-NAME,FIRST-NAME
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,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 "
PRINTD CREW
PRINTR ", and thereby abort your rescue mission. If you attempt to use force, they may even mutiny and place you under arrest."
.FUNCT DIARY-F
EQUAL? PRSA,V?OPEN \?ELS5
FSET? DIARY,OPENBIT /?ELS5
IN? PHOTO,DIARY \?ELS5
FSET DIARY,OPENBIT
MOVE PHOTO,HERE
PRINTR "As you do so, a picture falls out. Oh, oh! It's a snapshot of Zoe Bly!"
?ELS5: EQUAL? PRSA,V?LOOK-INSIDE,V?READ \FALSE
FSET? DIARY,OPENBIT /?ELS16
PRINTR "You must open it first."
?ELS16: PRINTI "You quickly discover references to Zoe Bly. It seems clear that "
PRINTD HORVAK
PRINTI " has fallen for Zoe. But her unsentimental manner is a large obstacle.
The last entry reads:
""If only I could find some way to break down that icy reserve of Zoe's, and make her realize she's not just a scientific thinking machine or a commanding officer...!
There must be some way! She doesn't do everything by the rule book. She even breaks regulations at times. If I can prove this and embarrass her, maybe she'll realize she's just a human being like the rest of us -- and not only a human being, but a warm, desirable woman...!""
"
FSET? SPECIAL-TOOL,TOUCHBIT \TRUE
PRINTI "
Well! It sounds as if "
PRINTD HORVAK
PRINTI " found the answer to his problem by sabotaging the "
PRINTD AIR-SUPPLY-SYSTEM
PRINTI " -- at a time when "
PRINTD BLY
PRINTI " was breaking regulations by not wearing her "
PRINTD OXYGEN-GEAR
PRINTR "!"
.FUNCT PHOTO-F
EQUAL? PRSA,V?TELL-ABOUT,V?EXAMINE,V?ANALYZE \FALSE
PRINTI "It's a "
PRINTD PHOTO
PRINTI " of "
PRINTD BLY
PRINTR "."
.FUNCT OUTSIDE-WORKSHOP-F,RARG=0
EQUAL? RARG,M-LOOK \FALSE
CALL FROM-HERE,P?WEST,P?NORTH
RSTACK
.FUNCT WORKSHOP-F,RARG=0
EQUAL? RARG,M-LOOK \FALSE
PRINTI "The "
PRINTD WORKSHOP
PRINTR " is equipped for mechanical repair work. It contains assorted hand tools, machine tools, and spare parts."
.FUNCT WORKSHOP-STUFF-F
EQUAL? PRSA,V?MAKE \FALSE
PRINTR "That's too difficult, even for a famous young inventor."
.FUNCT DOME-LAB-F,RARG=0,MAGLOC
EQUAL? RARG,M-LOOK \?ELS5
PRINTI "The "
PRINTD DOME-LAB
PRINTI " is equipped for all sorts of marine biochemical research. "
CALL ROOM-IS-CROWDED
RSTACK
?ELS5: EQUAL? RARG,M-ENTER \FALSE
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT /FALSE
IN? BLY,DOME-LAB /?CND12
MOVE BLY,DOME-LAB
PRINTD BLY
PRINTI " comes too."
CRLF
?CND12: FSET? HORVAK,BUSYBIT /?CND17
IN? HORVAK,DOME-LAB /?CND17
MOVE HORVAK,DOME-LAB
PRINTD HORVAK
PRINTI " comes too."
CRLF
?CND17: ZERO? HORVAK-TOLD-AH \TRUE
FSET? DART,MUNGBIT \TRUE
FSET? HORVAK,BUSYBIT /TRUE
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 A.H. molecules in the "
PRINTD GLOBAL-WATER
PRINTI " around the "
PRINTD AQUADOME
PRINTI ". Have you ever heard of such a phenomenon before?"""
CALL YES?
ZERO? STACK \?CND31
PRINTI """I can make up an intense tranquilizer to subdue the "
PRINTD SNARK
PRINTI ","" "
PRINTD HORVAK
PRINTI " 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 "
PRINTD SUB
PRINTI "'s "
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? >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 A.H. molecules in that "
PRINTD MAGAZINE
PRINTI "? Shall "
EQUAL? MAGLOC,HERE \?ELS43
PRINTI "we"
JUMP ?CND41
?ELS43: PRINTI "I get it and"
?CND41: PRINTI " see?"""
CALL THIS-IS-IT,MAGAZINE
CALL YES?
ZERO? STACK /TRUE
IN? MAGAZINE,PLAYER /?CND55
MOVE MAGAZINE,PLAYER
PRINTI "Tip "
EQUAL? MAGLOC,HERE /?CND60
PRINTI "returns quickly and "
?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."""
.FUNCT OUTSIDE-COMM-BLDG-F,RARG=0
EQUAL? RARG,M-LOOK \FALSE
CALL FROM-HERE,P?EAST,P?NORTH
RSTACK
.FUNCT COMM-BLDG-F,RARG=0
EQUAL? RARG,M-LOOK \FALSE
PRINTI "The "
PRINTD COMM-BLDG
PRINTI " has both a "
PRINTD VIDEOPHONE
PRINTI " for communicating with other places and the "
PRINTD SONAR-EQUIPMENT
PRINTI " for detecting objects in the "
PRINTD GLOBAL-WATER
PRINTR " around the dome."
.FUNCT SONAR-EQUIPMENT-F
EQUAL? PRSA,V?LAMP-OFF \?ELS5
PRINTR "It should stay on all the time."
?ELS5: EQUAL? PRSA,V?TELL-ABOUT,V?LOOK-ON,V?LOOK-INSIDE /?THN10
EQUAL? PRSA,V?READ,V?EXAMINE,V?ANALYZE \?ELS9
?THN10: PRINTI "The "
PRINTD SONAR-EQUIPMENT
PRINTI " detects objects in the "
PRINTD GLOBAL-WATER
PRINTI " near the "
PRINTD AQUADOME
PRINTR "."
?ELS9: EQUAL? PRSA,V?TIE-TO \FALSE
EQUAL? PRSI,SONAR-EQUIPMENT \FALSE
CALL PERFORM,V?PUT,PRSO,PRSI
RTRUE
.FUNCT MICROPHONE-DOME-F
CALL MICROPHONE-F,TRUE-VALUE
RSTACK
.FUNCT GALLEY-F,RARG=0
EQUAL? RARG,M-LOOK \FALSE
PRINTR "This room serves as both galley and mess; the crew can both prepare food and eat it here."
.FUNCT OUTSIDE-ADMIN-BLDG-F,RARG=0
EQUAL? RARG,M-LOOK \FALSE
CALL FROM-HERE,P?EAST,P?SOUTH
RSTACK
.FUNCT BLY-OFFICE-F,ARG=0
EQUAL? ARG,M-LOOK \?ELS5
PRINTI "The "
PRINTD BLY-OFFICE
PRINTI " is small but tidy, with a single door leading out and a good view of the ocean through the "
PRINTD WINDOW
PRINTR "."
?ELS5: EQUAL? ARG,M-ENTER \?ELS9
FSET? AIR-SUPPLY-SYSTEM,MUNGBIT /?ELS9
IN? BLY,BLY-OFFICE \?ELS16
ZERO? GREENUP-ESCAPE \?ELS16
ZERO? GREENUP-TRAPPED \?ELS16
ZERO? GREENUP-CUFFED \?ELS16
ZERO? ZOE-MENTIONED-EVIDENCE \?ELS16
FCLEAR BLY,NDESCBIT
PRINTI "As you enter the office, "
CALL ZOE-MENTIONS-EVIDENCE
RSTACK
?ELS16: ZERO? GREENUP-ESCAPE /FALSE
IN? BLY,BLY-OFFICE /FALSE
MOVE BLY,BLY-OFFICE
PRINTR "Zoe comes with you."
?ELS9: EQUAL? ARG,M-BEG \?ELS28
CALL EXIT-VERB?
ZERO? STACK /?ELS28
ZERO? GREENUP-ESCAPE /?ELS35
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 "
CALL SPECIAL-TOOL-VISIBLE
RSTACK
?ELS28: EQUAL? PRSA,V?SEARCH-FOR,V?SEARCH \FALSE
FSET? SPECIAL-TOOL,INVISIBLE \FALSE
PRINTI "You find "
CALL SPECIAL-TOOL-VISIBLE
RSTACK
.FUNCT SPECIAL-TOOL-VISIBLE
FCLEAR SPECIAL-TOOL,INVISIBLE
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 "
PRINTD SPECIAL-TOOL
PRINTR "!"
.FUNCT ZOE-MENTIONS-EVIDENCE
SET 'ZOE-MENTIONED-EVIDENCE,TRUE-VALUE
MOVE TRAITOR,GLOBAL-OBJECTS
CALL THIS-IS-IT,EVIDENCE
CALL QUEUE,I-BLY-SAYS,6
PUT STACK,0,1
CALL SAID-TO,BLY
PRINTI "Zoe"
FSET? BLY-DOOR,OPENBIT \?CND3
FCLEAR BLY-DOOR,OPENBIT
PRINTI " closes the door and"
?CND3: PRINTI " says:
""There's a "
PRINTD TRAITOR
PRINTI " here at the "
PRINTD AQUADOME
PRINTI ", "
CALL PRINT-NAME,FIRST-NAME
PRINTI "! "
ZERO? DOME-AIR-CRIME /?CND10
PRINTI "I'm not saying that just because the "
PRINTD AIR-SUPPLY-SYSTEM
PRINTI " was sabotaged. "
?CND10: PRINTI "I discovered "
ZERO? DOME-AIR-CRIME /?ELS22
PUSH STR?73
JUMP ?CND18
?ELS22: PUSH STR?74
?CND18: PRINT STACK
PRINTD EVIDENCE
PRINTI " after we talked on the "
PRINTD VIDEOPHONE
PRINTR "!"""
.FUNCT BLY-DESK-F
EQUAL? PRSA,V?LOOK-UNDER \FALSE
FSET? SPECIAL-TOOL,TOUCHBIT /FALSE
PRINTI "There's "
CALL SPECIAL-TOOL-VISIBLE
RSTACK
.FUNCT BLACK-BOX-F
EQUAL? PRSA,V?LOOK-INSIDE,V?EXAMINE \?ELS5
FSET? BLACK-BOX,OPENBIT \?ELS10
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."
?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?21
RSTACK
?ELS23: EQUAL? PRSI,UNIVERSAL-TOOL \?ELS25
CALL OKAY,BLACK-BOX,STR?21
RSTACK
?ELS25: PRINTI "You can't open it with"
ZERO? PRSI /?ELS32
CALL THE-PRSI-PRINT
JUMP ?CND30
?ELS32: PRINTI " your bare hands"
?CND30: PRINTR "!"
.FUNCT BLACK-CIRCUITRY-F
CALL DIVESTMENT?,BLACK-CIRCUITRY
ZERO? STACK /FALSE
CALL PERFORM,PRSA,BLACK-BOX,PRSI
RTRUE
.FUNCT STATION-MONITOR-F
EQUAL? PRSA,V?READ,V?EXAMINE,V?ANALYZE \FALSE
ZERO? GREENUP-ESCAPE /?ELS10
CALL QUEUE,I-GREENUP-ESCAPE,-1
PUT STACK,0,1
EQUAL? GREENUP-ESCAPE,1 \TRUE
PRINTI "The monitor screen shows Greenup's head just coming into view above the top of the "
PRINTD AIRLOCK
PRINTI "'s west wall, as he climbs the outside ladder.
"
FSET? AIRLOCK-ROOF,OPENBIT /?ELS23
PRINTI "But since the "
PRINTD AIRLOCK-ROOF
PRINTI " is closed, Greenup can't get into the "
PRINTD SUB
PRINTI " to escape. "
CALL GREENUP-CUFF
RTRUE
?ELS23: PRINTI "Once he reaches the top of this wall, he will come down the inside ladder to the "
PRINTD SUB
PRINTR "."
?ELS10: PRINTD BLY
PRINTI " uses this monitor to check on activities in the "
PRINTD AQUADOME
PRINTR "."
.FUNCT AIRLOCK-ELECTRICITY-F
EQUAL? PRSA,V?CUT \?ELS5
CALL PERFORM,V?LAMP-OFF,PRSO
RTRUE
?ELS5: EQUAL? PRSA,V?LAMP-OFF \FALSE
ZERO? GREENUP-ESCAPE /FALSE
FCLEAR AIRLOCK-ELECTRICITY,ONBIT
PRINTI "Very good, "
CALL PRINT-NAME,FIRST-NAME
PRINTI "! With the "
PRINTD AIRLOCK-ELECTRICITY
PRINTI " off, the "
PRINTD AIRLOCK-HATCH
PRINTI " won't respond to command signals from the "
PRINTD SUB
PRINTI " and will remain closed.
"
CALL GREENUP-CUFF
RTRUE
.FUNCT CONTROLS-OFFICE-F
EQUAL? PRSA,V?LAMP-OFF,V?CUT \?ELS5
CALL PERFORM,V?LAMP-OFF,AIRLOCK-ELECTRICITY
RTRUE
?ELS5: EQUAL? PRSA,V?READ,V?EXAMINE,V?ANALYZE \FALSE
PRINTI "MAIN OPERATING CONTROLS:
"
CALL FIXED-FONT-ON
PRINTD AIRLOCK-ROOF
PRINTI ": "
FSET? AIRLOCK-ROOF,OPENBIT \?ELS16
PUSH STR?21
JUMP ?CND12
?ELS16: PUSH STR?17
?CND12: PRINT STACK
CRLF
PRINTD FILL-TANK-BUTTON
PRINTI " : "
CALL TANK-STATUS
PRINT STACK
CRLF
PRINTD OPEN-GATE-BUTTON
PRINTI " : "
CALL GATE-STATUS
PRINT STACK
CRLF
CALL FIXED-FONT-OFF
RTRUE
.FUNCT DOME-STORAGE-F,RARG=0
EQUAL? RARG,M-LOOK \FALSE
CALL ROOM-IS-CROWDED
RSTACK
.FUNCT ROOM-IS-CROWDED
PRINTR "The room is crowded with supplies and equipment. If you want to find something, you'll have to search for it."
.FUNCT I-CHECK-POD
IN? SYRINGE,ESCAPE-POD-UNIT \FALSE
FSET? SYRINGE,MUNGBIT \FALSE
ZERO? SUB-IN-DOME /?CND8
CALL TELL-HINT,51,ESCAPE-POD-UNIT
?CND8: CALL QUEUE,I-CHECK-POD,7
PUT STACK,0,1
RFALSE
.FUNCT ESCAPE-POD-UNIT-F
CALL REMOTE-VERB?
ZERO? STACK \FALSE
IN? ESCAPE-POD-UNIT,SUB \FALSE
EQUAL? PRSA,V?EXAMINE,V?ANALYZE \?ELS12
PRINTI "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 "
IN? SYRINGE,ESCAPE-POD-UNIT \?ELS17
PRINTI "the "
PRINTD SYRINGE
JUMP ?CND15
?ELS17: PRINTI "where the "
PRINTD SYRINGE
PRINTI " was"
?CND15: PRINTI ".
Tip reports that the part under his seat appears to be okay."
FSET? SYRINGE,MUNGBIT \?CND26
IN? SYRINGE,ESCAPE-POD-UNIT \?CND26
PRINTI " ""But I sure don't like the looks of that "
PRINTD SYRINGE
PRINTI " in YOUR part, "
CALL PRINT-NAME,FIRST-NAME
PRINTI "!"" he adds. ""Let's take it to "
PRINTD HORVAK
PRINTI " to analyze it."""
?CND26: CRLF
RTRUE
?ELS12: EQUAL? PRSA,V?FIX \FALSE
PRINTI "Maybe "
PRINTD HORVAK
PRINTR " can do that."
.FUNCT SYRINGE-F
EQUAL? PRSO,SYRINGE \FALSE
EQUAL? PRSA,V?FIX,V?EXAMINE,V?ANALYZE \?ELS10
PRINTI "Maybe "
PRINTD HORVAK
PRINTR " can do that."
?ELS10: EQUAL? PRSA,V?TAKE \?ELS14
FSET ESCAPE-POD-UNIT,NDESCBIT
SET 'TEST-BUTTON-READOUT,TEST-BUTTON-NORMAL
RFALSE
?ELS14: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,ESCAPE-POD-UNIT \FALSE
FCLEAR ESCAPE-POD-UNIT,NDESCBIT
SET 'TEST-BUTTON-READOUT,TEST-BUTTON-POD
RFALSE
.FUNCT FINE-GRID-F
EQUAL? PRSA,V?FIND \FALSE
ZERO? FINE-SONAR /FALSE
PRINTI "It's installed in the "
PRINTD SUB
PRINTR "."
.FUNCT CENTER-OF-DOME-F,ARG=0
EQUAL? ARG,M-LOOK \FALSE
PRINTI "You're in the very center of the "
PRINTD AQUADOME
PRINTI ", where the "
PRINTD AIR-SUPPLY-SYSTEM
PRINTR " rises like a tower, almost to the top of the dome itself."
.FUNCT AIR-SUPPLY-SYSTEM-F
EQUAL? PRSA,V?ANALYZE \?ELS5
PRINTR "How do you propose to do that?"
?ELS5: EQUAL? PRSA,V?READ,V?LOOK-INSIDE,V?EXAMINE \?ELS9
EQUAL? HERE,CENTER-OF-DOME \?ELS14
FSET? ACCESS-PLATE,OPENBIT \?ELS19
FSET? ELECTROLYTE-RELAY,MUNGBIT \?ELS24
PRINTI "You notice an "
PRINTD EMPTY-SPACE
PRINTI " in the complicated assembly facing you. Something has been unscrewed from this space!"
CRLF
IN? ELECTROLYTE-RELAY,AIR-SUPPLY-SYSTEM \FALSE
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: "
CALL READ-AIR-SUPPLY
RSTACK
?ELS14: CALL TOO-FAR-AWAY,AIR-SUPPLY-SYSTEM
RSTACK
?ELS9: EQUAL? PRSA,V?WALK-TO,V?FIND \?ELS45
EQUAL? PRSO,AIR-SUPPLY-SYSTEM-GLOBAL \FALSE
CALL PERFORM,PRSA,AIR-SUPPLY-SYSTEM,PRSI
RTRUE
?ELS45: EQUAL? PRSA,V?FIX \?ELS52
PRINTR "How do you propose doing that, when you don't know what's wrong with it?"
?ELS52: EQUAL? PRSA,V?CLOSE,V?OPEN-WITH,V?OPEN \FALSE
CALL PERFORM,PRSA,ACCESS-PLATE,PRSI
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
?THN6: EQUAL? PRSO,AIR-SUPPLY-SYSTEM-GLOBAL,AIR-SUPPLY-SYSTEM /TRUE
EQUAL? PRSO,SPECIAL-TOOL-GLOBAL,SPECIAL-TOOL,UNIVERSAL-TOOL /TRUE
?ELS5: EQUAL? PRSA,V?TELL-ABOUT /?THN17
EQUAL? PRSA,V?ASK-FOR,V?ASK-ABOUT,V?SGIVE \FALSE
?THN17: EQUAL? PRSI,AIR-SUPPLY-SYSTEM-GLOBAL,AIR-SUPPLY-SYSTEM /TRUE
EQUAL? PRSI,SPECIAL-TOOL-GLOBAL,SPECIAL-TOOL,UNIVERSAL-TOOL /TRUE
RFALSE
.FUNCT ACCESS-PLATE-F
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."
?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."
?ELS7: EQUAL? PRSA,V?LOOK-INSIDE \?ELS25
CALL PERFORM,PRSA,AIR-SUPPLY-SYSTEM,PRSI
RTRUE
?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
?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?21
RSTACK
?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
CALL SCORE-OBJ,AIR-SUPPLY-SYSTEM
RTRUE
?ELS36: EQUAL? PRSA,V?TAKE-WITH,V?TAKE,V?OPEN \FALSE
FSET? ACCESS-PLATE,OPENBIT \?ELS52
CALL ALREADY,ACCESS-PLATE,STR?21
RSTACK
?ELS52: EQUAL? PRSI,SPECIAL-TOOL-GLOBAL \?ELS54
CALL NOT-HERE,PRSI
RTRUE
?ELS54: PRINTI "You can't remove"
CALL THE-PRSO-PRINT
PRINTR " with your bare hands!"
.FUNCT HOOK-F
FIRST? HOOK /?ELS5
EQUAL? PRSA,V?LOOK-ON,V?EXAMINE \?ELS10
PRINTI "There's nothing hanging on the "
PRINTD HOOK
PRINTR "."
?ELS10: EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSO,SPECIAL-TOOL \?ELS19
MOVE PRSO,HOOK
PRINTR "Okay."
?ELS19: PRINTI "It won't fit on the "
PRINTD HOOK
PRINTR "."
?ELS5: EQUAL? PRSA,V?LOOK-ON,V?EXAMINE \FALSE
PRINTI "There's "
CALL PRINTA,SPECIAL-TOOL
PRINTI " hanging on the "
PRINTD HOOK
PRINTR "."
.FUNCT ARROW-F
EQUAL? PRSA,V?ANALYZE,V?EXAMINE,V?FOLLOW \FALSE
PRINTR "It points to the hook."
.FUNCT ELECTROLYTE-RELAY-F
EQUAL? PRSA,V?TAKE \?ELS5
FSET? PRSO,TAKEBIT /FALSE
PRINTI "What!? You don't want to spoil the "
PRINTD AIR-SUPPLY-SYSTEM
PRINTR " again!"
?ELS5: CALL REMOTE-VERB?
ZERO? STACK \FALSE
CALL NOT-HOLDING?,ELECTROLYTE-RELAY
ZERO? STACK \TRUE
EQUAL? PRSA,V?COMPARE \?ELS18
EQUAL? PRSI,ELECTROLYTE-RELAY \?ELS24
EQUAL? PRSO,EMPTY-SPACE /?THN21
?ELS24: EQUAL? PRSO,ELECTROLYTE-RELAY \?ELS18
EQUAL? PRSI,EMPTY-SPACE \?ELS18
?THN21: PRINTI "It looks as if the "
PRINTD ELECTROLYTE-RELAY
PRINTI " fits perfectly into the "
PRINTD EMPTY-SPACE
PRINTR "."
?ELS18: EQUAL? PRSA,V?EXAMINE \?ELS30
PRINTI "It has screw threads and, judging by its size and shape, it should screw very neatly into that "
PRINTD EMPTY-SPACE
PRINTI " in the "
PRINTD AIR-SUPPLY-SYSTEM
PRINTR " assembly."
?ELS30: EQUAL? PRSA,V?SCREW,V?PUT \?ELS38
EQUAL? PRSI,EMPTY-SPACE,AIR-SUPPLY-SYSTEM /?THN35
?ELS38: EQUAL? PRSA,V?SCREW-IN \FALSE
EQUAL? HERE,CENTER-OF-DOME \FALSE
?THN35: FSET? ACCESS-PLATE,OPENBIT /?CND41
CALL TOO-BAD-BUT,ACCESS-PLATE,STR?17
RTRUE
?CND41: CALL FIX-AIR-SUPPLY
PRINTI "It fits!"
CRLF
CALL SCORE-OBJ,ACCESS-PLATE
RTRUE
.FUNCT FIX-AIR-SUPPLY
FCLEAR AIR-SUPPLY-SYSTEM,MUNGBIT
REMOVE EMPTY-SPACE
MOVE ELECTROLYTE-RELAY,AIR-SUPPLY-SYSTEM
FCLEAR ELECTROLYTE-RELAY,TAKEBIT
FSET ELECTROLYTE-RELAY,NDESCBIT
FCLEAR ELECTROLYTE-RELAY,MUNGBIT
PUTP ELECTROLYTE-RELAY,P?TEXT,STR?77
RTRUE
.FUNCT EMPTY-SPACE-F
EQUAL? PRSA,V?PUT \FALSE
EQUAL? PRSI,EMPTY-SPACE \FALSE
PRINTI "Sorry, but"
CALL THE-PRSO-PRINT
PRINTR " won't stay unless you screw it in."
.ENDI