2019-04-14 05:34:27 +03:00
|
|
|
|
"GLOBALS for SEASTALKER
|
|
|
|
|
Copyright (C) 1984 Infocom, Inc. All rights reserved."
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-OBJECTS
|
|
|
|
|
(PSEUDO "NOTHIN" RANDOM-PSEUDO)
|
|
|
|
|
(VALUE 0)
|
|
|
|
|
(GENERIC NULL-F)
|
2019-04-14 05:35:09 +03:00
|
|
|
|
(FLAGS BUSYBIT CONTBIT DOORBIT ;DRINKBIT FEMALE ;FOODBIT ;FURNITURE
|
2019-04-14 05:34:27 +03:00
|
|
|
|
INVISIBLE LIGHTBIT LOCKED MUNGBIT
|
|
|
|
|
NARTICLEBIT NDESCBIT ONBIT ON?BIT OPENBIT
|
|
|
|
|
PERSON READBIT RLANDBIT RMUNGBIT SEARCHBIT SURFACEBIT TAKEBIT
|
|
|
|
|
TOOLBIT TOUCHBIT TRANSBIT TRYTAKEBIT VEHBIT VOWELBIT
|
|
|
|
|
WEAPONBIT WINDOWBIT)>
|
|
|
|
|
|
|
|
|
|
<OBJECT LOCAL-GLOBALS
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM ZZZZLG ZZZLG) ;"This synonym is necessary - God knows">
|
|
|
|
|
|
|
|
|
|
<ROUTINE DO-INSTEAD-OF (OBJ1 OBJ2)
|
|
|
|
|
<COND (<EQUAL? ,PRSI .OBJ2> <PERFORM ,PRSA ,PRSO .OBJ1>)
|
|
|
|
|
(<EQUAL? ,PRSO .OBJ2> <PERFORM ,PRSA .OBJ1 ,PRSI>)
|
|
|
|
|
(<V-FOO>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT TURN
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(ADJECTIVE NUMBER FULL)
|
|
|
|
|
(SYNONYM TURN TURNS MINUTE)
|
|
|
|
|
(DESC "turn")
|
|
|
|
|
(FLAGS UNITBIT ;NARTICLEBIT)
|
|
|
|
|
(ACTION TURN-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE TURN-F ()
|
|
|
|
|
<COND (<VERB? USE>
|
|
|
|
|
<PERFORM ,V?WAIT-FOR ,PRSO>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT IT
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM IT THEM THEY THIS)
|
|
|
|
|
(DESC "it")
|
|
|
|
|
(FLAGS VOWELBIT NARTICLEBIT)
|
|
|
|
|
(ACTION IT-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE IT-F ()
|
|
|
|
|
<COND (<OR <AND <IOBJ? IT>
|
|
|
|
|
;<FSET? ,PRSO ,PERSON>
|
|
|
|
|
<VERB? ASK-ABOUT ASK-FOR SEARCH-FOR TELL-ABOUT>>
|
|
|
|
|
<AND <DOBJ? IT>
|
|
|
|
|
<VERB? ASK-CONTEXT-ABOUT ASK-CONTEXT-FOR FIND WHAT>>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "\"I'm not sure what you're talking about.\"" CR>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<OBJECT FLOOR
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "floor")
|
|
|
|
|
(SYNONYM FLOOR ;AREA DECK WALKWAY GROUND)
|
|
|
|
|
(ACTION FLOOR-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE FLOOR-F ()
|
|
|
|
|
<COND ;(<REMOTE-VERB?> <RFALSE>)
|
|
|
|
|
(<AND <VERB? PUT> <IOBJ? FLOOR>>
|
|
|
|
|
<PERFORM ,V?DROP ,PRSO>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? ;FIND THROUGH WALK-TO>
|
|
|
|
|
<COND (,SUB-IN-TANK
|
|
|
|
|
<PERFORM ,PRSA ,TEST-TANK>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<VERB? EXAMINE SEARCH LOOK-ON>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You don't find anything new there." CR>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<OBJECT IU-GLOBAL
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "Inventions Unlimited")
|
|
|
|
|
(ADJECTIVE INVENT)
|
|
|
|
|
(SYNONYM UNLIMITED COMPANY BUSINESS)
|
|
|
|
|
(FLAGS VOWELBIT NARTICLEBIT)
|
|
|
|
|
(TEXT
|
|
|
|
|
"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.")>
|
|
|
|
|
|
|
|
|
|
<OBJECT DANGER
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "danger")
|
|
|
|
|
(SYNONYM DANGER THREAT)>
|
|
|
|
|
|
|
|
|
|
<OBJECT MOTIVE
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "motive")
|
|
|
|
|
;(ADJECTIVE YOUR)
|
|
|
|
|
(SYNONYM MOTIVE)>
|
|
|
|
|
|
|
|
|
|
<OBJECT PROBLEM
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "problem")
|
|
|
|
|
(ADJECTIVE URGENT)
|
|
|
|
|
(SYNONYM PROBLEM ;"WANT WRONG HAPPENING")>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-SNARK
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "Snark")
|
|
|
|
|
(ADJECTIVE SEA THIS HUGE)
|
|
|
|
|
(SYNONYM SNARK MONSTER SLUG CREATURE ;BOOJUM)
|
|
|
|
|
;(FLAGS INVISIBLE)
|
|
|
|
|
(ACTION GLOBAL-SNARK-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GLOBAL-SNARK-F ()
|
|
|
|
|
<COND (<AND <VERB? EXAMINE FIND> <NOT <0? ,SNARK-ATTACK-COUNT>>>
|
|
|
|
|
;"I-SNARK-ATTACKS provides output."
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? FIND> <NOT ,MONSTER-GONE>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "It's attacking the " D ,AQUADOME "!" CR>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-WEAPON
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "weapon")
|
|
|
|
|
(ADJECTIVE ;YOUR SOME)
|
|
|
|
|
(SYNONYM WEAPON)>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-EXPLOSIVE
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "explosive charge")
|
|
|
|
|
(ADJECTIVE ;YOUR SOME EXPLOSIVE)
|
|
|
|
|
(SYNONYM EXPLOSIVE CHARGE)
|
|
|
|
|
(FLAGS VOWELBIT)>
|
|
|
|
|
|
|
|
|
|
<OBJECT LOCAL-SUB
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(ADJECTIVE REVOLUTIONARY NEW ULTRAMARINE MY)
|
|
|
|
|
(SYNONYM BIOCEPTOR SUB SUBMARINE SCIMITAR ;HULL ;BOAT)
|
|
|
|
|
(DESC "SCIMITAR" ;"Ultramarine Bioceptor")
|
|
|
|
|
(FLAGS VOWELBIT VEHBIT NDESCBIT)
|
|
|
|
|
(TEXT "(You'll find that information in your SEASTALKER package.)")
|
|
|
|
|
(ACTION LOCAL-SUB-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE MIKE-3-F (OBJ)
|
|
|
|
|
<TELL "The " D .OBJ " is mounted on " A ,CLAW "." CR>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CANT-SEND ()
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You can't send it. Only you can pilot it there." CR>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<ROUTINE LOCAL-SUB-F ()
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<COND (<VERB? PUT TURN> <MORE-SPECIFIC>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<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>>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL <GETP ,LOCAL-SUB ,P?TEXT>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
;"(You'll find that information in your SEASTALKER package.)" CR>
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<COND (<GET ,ON-SUB 0>
|
|
|
|
|
<MIKE-3-F <GET ,ON-SUB 0>>)>
|
|
|
|
|
<COND (<GET ,ON-SUB 1>
|
|
|
|
|
<MIKE-3-F <GET ,ON-SUB 1>>)>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? FIND>
|
|
|
|
|
<DISABLE <INT I-SEND-SUB>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "It's right here!" CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<OR <VERB? LOOK-BEHIND>
|
|
|
|
|
<AND <VERB? LOOK-OUTSIDE> <EQUAL? ,HERE ,SUB>>>
|
|
|
|
|
<PERFORM ,V?LOOK-OUTSIDE ,SUB-WINDOW>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? LOOK-INSIDE>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
|
|
|
|
<PERFORM ,V?LOOK>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(T <TELL "You can't see much from here." CR>)>)
|
|
|
|
|
(<AND <VERB? SEND SEND-OUT SEND-TO> <DOBJ? LOCAL-SUB>>
|
|
|
|
|
<CANT-SEND>)
|
|
|
|
|
(<VERB? THROUGH BOARD ;WALK-TO>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
|
|
|
|
<ALREADY ,WINNER "in it">)
|
|
|
|
|
(<EQUAL? ,HERE ,AIRLOCK-WALL>
|
|
|
|
|
<COND (<GOTO ,AIRLOCK>
|
|
|
|
|
<COND (<AND <GOTO ,SUB> <NOT <==? ,WINNER ,PLAYER>>>
|
|
|
|
|
<OKAY>)>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<EQUAL? ,HERE ,WEST-TANK-AREA ,SOUTH-TANK-AREA>
|
|
|
|
|
<TELL <GETP ,WEST-TANK-AREA ,P?EAST>
|
|
|
|
|
;"You have to go north to board the SCIMITAR." CR>)
|
|
|
|
|
(T
|
|
|
|
|
<DO-WALK ,P?IN>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<VERB? ;EXIT DISEMBARK DROP RAISE>
|
|
|
|
|
<COND (<NOT <EQUAL? ,HERE ,SUB ,CRAWL-SPACE>>
|
|
|
|
|
<TELL "You're not in it!" CR>)
|
|
|
|
|
(<VERB? DROP>
|
|
|
|
|
<DO-WALK ,P?DOWN>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? RAISE>
|
|
|
|
|
<DO-WALK ,P?UP>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(T
|
|
|
|
|
<DO-WALK ,P?OUT>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<AND <VERB? OPEN CLOSE>
|
|
|
|
|
<NOT <EQUAL? ,HERE ,CRAWL-SPACE ,AIRLOCK-WALL>>>
|
|
|
|
|
<PERFORM ,PRSA ,SUB-DOOR>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? ANALYZE> <EQUAL? ,PRSI ,DAMAGE ,GLOBAL-SABOTAGE <>>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You can do this by pushing the " D ,TEST-BUTTON>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<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>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You have to be in the " D ,SUB " to start it." CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
;(<EQUAL? ,HERE ,CRAWL-SPACE>
|
|
|
|
|
<THIS-IS-IT ,SUB>
|
|
|
|
|
<TELL "You have to be in the pilot's seat to start it." CR>)
|
|
|
|
|
(<NOT <FSET? ,REACTOR ,ONBIT>>
|
|
|
|
|
<THIS-IS-IT ,REACTOR>
|
|
|
|
|
<TELL "The reactor is off!" CR>)
|
|
|
|
|
(<OR <AND ,SUB-IN-TANK
|
|
|
|
|
<NOT ,TEST-TANK-FULL>
|
|
|
|
|
<THIS-IS-IT ,TEST-TANK>>
|
|
|
|
|
<AND ,SUB-IN-DOME
|
|
|
|
|
<NOT ,AIRLOCK-FULL>
|
|
|
|
|
<THIS-IS-IT ,AIRLOCK>>>
|
|
|
|
|
<TELL "The tank is empty!" CR>)
|
|
|
|
|
(<OR <AND ,SUB-IN-TANK
|
|
|
|
|
<NOT <FSET? ,TANK-GATE ,OPENBIT>>
|
|
|
|
|
<THIS-IS-IT ,TANK-GATE>>
|
|
|
|
|
<AND ,SUB-IN-DOME
|
|
|
|
|
<NOT <FSET? ,AIRLOCK-HATCH ,OPENBIT>>
|
|
|
|
|
<THIS-IS-IT ,AIRLOCK-HATCH>>>
|
|
|
|
|
<TELL "The gate is closed!" CR>)
|
|
|
|
|
(<NOT <FSET? ,ENGINE ,ONBIT>>
|
|
|
|
|
<THIS-IS-IT ,ENGINE>
|
|
|
|
|
<TELL "The engine is off!" CR>)
|
|
|
|
|
(T
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"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
|
|
|
|
|
;"(' N ,THROTTLE-MAX ' forward settings, each one increasing the speed by
|
|
|
|
|
1 sea square per turn)">)>)
|
|
|
|
|
(<VERB? STOP>
|
|
|
|
|
<COND (<NOT <EQUAL? ,HERE ,SUB ;,CRAWL-SPACE>>
|
|
|
|
|
<THIS-IS-IT ,SUB>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You have to be in the " D ,SUB " to stop it." CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
;(<EQUAL? ,HERE ,CRAWL-SPACE>
|
|
|
|
|
<TELL "You have to be in the pilot's seat to stop it." CR>)
|
|
|
|
|
(<NOT <FSET? ,ENGINE ,ONBIT>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "The engine is off!" CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(T ;<EQUAL? ,SUB-DEPTH ,TARGET-DEPTH>
|
|
|
|
|
<SETG TARGET-DEPTH ,SUB-DEPTH>
|
|
|
|
|
<TELL ,I-ASSUME " close the " D ,THROTTLE ".)" CR>
|
|
|
|
|
<PERFORM ,V?CLOSE ,THROTTLE>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
;(T
|
|
|
|
|
<TELL
|
|
|
|
|
"You can do this by closing the throttle and setting the Depth Control to
|
|
|
|
|
your present depth." CR>)>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-SUB
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(ADJECTIVE REVOLUTIONARY NEW ULTRAMARINE MY)
|
|
|
|
|
(SYNONYM BIOCEPTOR SUB SUBMARINE SCIMITAR)
|
|
|
|
|
(DESC "SCIMITAR" ;"Ultramarine Bioceptor")
|
|
|
|
|
;(TEXT
|
|
|
|
|
"This is your revolutionary new Ultramarine Bioceptor, named the SCIMITAR.")
|
|
|
|
|
(ACTION GLOBAL-SUB-F)>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-SUB-2
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(ADJECTIVE REVOLUTIONARY NEW ULTRAMARINE MY)
|
|
|
|
|
(SYNONYM BOAT)
|
|
|
|
|
(DESC "boat")
|
|
|
|
|
(ACTION GLOBAL-SUB-2-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GLOBAL-SUB-2-F ()
|
|
|
|
|
<DO-INSTEAD-OF ,GLOBAL-SUB ,GLOBAL-SUB-2>
|
|
|
|
|
<RTRUE>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GLOBAL-SUB-F ()
|
|
|
|
|
<COND (<AND ,SUB-IN-TANK
|
|
|
|
|
<OR ,BLY-TOLD-PROBLEM
|
|
|
|
|
<NOT <EQUAL? ,PRSO ,GLOBAL-BLY>>>
|
|
|
|
|
<OR <VERB? FIND>
|
|
|
|
|
<AND <VERB? ASK-ABOUT> <FSET? ,PRSO ,PERSON>>>>
|
|
|
|
|
<DISABLE <INT I-SEND-SUB>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "The only sub at">
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<RESEARCH-LAB>
|
|
|
|
|
<TELL " is your new " D ,GLOBAL-SUB ".
|
|
|
|
|
It's located in the test tank just south of " D ,YOUR-LABORATORY "." CR>)
|
|
|
|
|
(<VERB? BOARD ;ENTER THROUGH WALK-TO>
|
|
|
|
|
<CHEERS?>
|
|
|
|
|
<COND (<AND <GOTO ,SUB> <NOT <==? ,WINNER ,PLAYER>>>
|
|
|
|
|
<OKAY>)>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? PUT>
|
|
|
|
|
<COND (<NOT <FSET? ,PRSO ,WEAPONBIT>>
|
|
|
|
|
<MORE-SPECIFIC>)>)
|
|
|
|
|
(<AND <VERB? SEND SEND-OUT SEND-TO> <DOBJ? GLOBAL-SUB>>
|
|
|
|
|
<CANT-SEND>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT CONTROLS
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(DESC "control panel")
|
|
|
|
|
(ADJECTIVE OPERATOR CONTROL)
|
|
|
|
|
(SYNONYM CONTROL PANEL KNOB KNOBS)
|
|
|
|
|
(ACTION CONTROLS-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CONTROLS-F ()
|
|
|
|
|
<COND (<AND <EQUAL? ,HERE ,CENTER-OF-LAB>
|
|
|
|
|
<NOT <VERB? EXAMINE LAMP-ON LAMP-OFF>>>
|
|
|
|
|
<DO-INSTEAD-OF ,VIDEOPHONE ,CONTROLS>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<EQUAL? ,HERE ,WEST-TANK-AREA>
|
|
|
|
|
<COND (<VERB? EXAMINE>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"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>)>)>>
|
|
|
|
|
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<ROUTINE PHONE-ON (PER PWHERE ON ;WHERE)
|
|
|
|
|
<SETG REMOTE-PERSON .PER>
|
|
|
|
|
<SETG QCONTEXT .PER>
|
|
|
|
|
<THIS-IS-IT .PER>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<SETG REMOTE-PERSON-REMLOC .PWHERE>
|
|
|
|
|
<SETG REMOTE-PERSON-ON .ON>
|
|
|
|
|
<SETG REMOTE-PERSON-LOC ,HERE ;.WHERE>
|
|
|
|
|
<SETG QCONTEXT-ROOM ,HERE>
|
|
|
|
|
<MOVE ,REMOTE-PERSON ,REMOTE-PERSON-LOC>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE PHONE-OFF ()
|
|
|
|
|
<COND (,REMOTE-PERSON
|
|
|
|
|
<MOVE ,REMOTE-PERSON ,GLOBAL-OBJECTS>
|
|
|
|
|
<SETG REMOTE-PERSON <>>
|
|
|
|
|
<SETG REMOTE-PERSON-LOC <>>
|
|
|
|
|
<SETG REMOTE-PERSON-ON <>>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT INTERCOM
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(SYNONYM INTERCOM)
|
|
|
|
|
(DESC "intercom")
|
|
|
|
|
(FLAGS VOWELBIT)
|
|
|
|
|
(ACTION INTERCOM-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE INTERCOM-F ("AUX" P L)
|
|
|
|
|
<COND (<VERB? LAMP-ON SAY-INTO>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "Try the command: CALL (someone) ON THE INTERCOM." CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<VERB? PHONE>
|
|
|
|
|
<COND (<FSET? ,PRSO ,PERSON>
|
|
|
|
|
<SET P <GET ,CHARACTER-TABLE <GETP ,PRSO ,P?CHARACTER>>>
|
|
|
|
|
<SET L <LOC .P>>)
|
|
|
|
|
(T
|
|
|
|
|
<HAR-HAR>
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<COND (<OR <AND <==? .L ,EAST-WALL> <==? ,HERE ,OFFICE>>
|
|
|
|
|
<AND <==? ,HERE ,EAST-WALL> <==? .L ,OFFICE>>>
|
|
|
|
|
<COND (<AND <==? .P ,SHARON> <IN? ,SHARON ,OFFICE>>
|
|
|
|
|
<FCLEAR ,SHARON ,NDESCBIT>
|
|
|
|
|
<FCLEAR ,FILE-DRAWER ,NDESCBIT>
|
|
|
|
|
<FCLEAR ,PAPERS ,NDESCBIT>)>
|
|
|
|
|
<MOVE .P ,HERE>
|
|
|
|
|
<TELL "Here ">)
|
|
|
|
|
(T
|
|
|
|
|
<TELL "There's no " D ,INTERCOM " line to where ">)>
|
|
|
|
|
<HE-SHE-IT .P>
|
|
|
|
|
<TELL " is." CR>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT TEST-BUTTON
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(ADJECTIVE TEST)
|
|
|
|
|
(SYNONYM BUTTON SWITCH)
|
|
|
|
|
(DESC "test button")
|
|
|
|
|
(TEXT "(You'll find that information in your SEASTALKER package.)")
|
|
|
|
|
(ACTION TEST-BUTTON-F)>
|
|
|
|
|
|
|
|
|
|
<GLOBAL TEST-BUTTON-READOUT 1>
|
|
|
|
|
<CONSTANT TEST-BUTTON-NORMAL 1>
|
|
|
|
|
<CONSTANT TEST-BUTTON-POD 2>
|
|
|
|
|
<CONSTANT REGULATOR-MSG 3>
|
|
|
|
|
<CONSTANT GATE-CRASHED-MSG 4>
|
|
|
|
|
<CONSTANT CLAW-MUNGED-MSG 5>
|
|
|
|
|
|
|
|
|
|
<ROUTINE A-O-K () <TELL "All systems A-O-K." CR>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE TEST-BUTTON-F ()
|
|
|
|
|
<COND (<VERB? PUSH TURN LAMP-OFF LAMP-ON>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,CENTER-OF-LAB>
|
|
|
|
|
<COND (<FSET? ,VIDEOPHONE ,MUNGBIT>
|
|
|
|
|
<TELL-HINT 83 ;6 ,POWER-SUPPLY <>>)
|
|
|
|
|
(<==? ,P-XADJN ,W?TEST>
|
|
|
|
|
<A-O-K>)
|
|
|
|
|
(<IN? ,MICROPHONE ,PLAYER>
|
|
|
|
|
<COND (<VERB? LAMP-OFF LAMP-ON>
|
|
|
|
|
<PERFORM ,PRSA ,MICROPHONE>)
|
|
|
|
|
(<FSET? ,MICROPHONE ,ONBIT>
|
|
|
|
|
<PERFORM ,V?LAMP-OFF ,MICROPHONE>)
|
|
|
|
|
(T
|
|
|
|
|
<PERFORM ,V?LAMP-ON ,MICROPHONE>)>)
|
|
|
|
|
(<VERB? LAMP-OFF>
|
|
|
|
|
<PERFORM ,V?LAMP-OFF ,VIDEOPHONE>)
|
|
|
|
|
(T <PERFORM ,V?LAMP-ON ,VIDEOPHONE>)>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
|
|
|
|
<COND (,TEST-BUTTON-READOUT
|
|
|
|
|
<TELL "Readout display says:|
|
|
|
|
|
">
|
|
|
|
|
<COND (<==? ,TEST-BUTTON-READOUT ,TEST-BUTTON-NORMAL>
|
|
|
|
|
<A-O-K>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<==? ,TEST-BUTTON-READOUT ,GATE-CRASHED-MSG>
|
|
|
|
|
<TELL "No damage. Hull still watertight.">)
|
|
|
|
|
(<==? ,TEST-BUTTON-READOUT ,REGULATOR-MSG>
|
|
|
|
|
<SETG REGULATOR-MSG-SEEN T>
|
|
|
|
|
;<FCLEAR ,ENGINE-ACCESS-HATCH ,NDESCBIT>
|
|
|
|
|
<TELL
|
|
|
|
|
"Lasers in operational computers are over-charging.|
|
|
|
|
|
To correct, adjust " D ,VOLTAGE-REGULATOR ".|
|
|
|
|
|
WARNING: " D ,VOLTAGE-REGULATOR " is reachable only from " ;"engine " D
|
|
|
|
|
,CRAWL-SPACE ", behind the " D ,ENGINE-ACCESS-HATCH ".
|
|
|
|
|
This is a hazardous operation at sea!">) ;" refer to manual for details
|
|
|
|
|
[Note: Manual should explain that entering the engine
|
|
|
|
|
compartment crawl space involves two hazards:
|
|
|
|
|
1-- Tight space presents risk of knocking delicate bearings out of alignment.
|
|
|
|
|
2-- Hot, sharp or moving parts present danger of personal injury.]"
|
|
|
|
|
(<==? ,TEST-BUTTON-READOUT ,TEST-BUTTON-POD>
|
|
|
|
|
<TELL
|
|
|
|
|
D ,ESCAPE-POD-UNIT " is not properly connected.">)
|
|
|
|
|
(<==? ,TEST-BUTTON-READOUT ,CLAW-MUNGED-MSG>
|
|
|
|
|
<TELL "The " D ,CLAW " is damaged.">)>
|
|
|
|
|
<CRLF>)>)
|
|
|
|
|
(<==? ,P-XADJN ,W?TEST>
|
|
|
|
|
<A-O-K>)
|
|
|
|
|
(<EQUAL? ,HERE ,EAST-WALL>
|
|
|
|
|
<COND (<VERB? LAMP-OFF>
|
|
|
|
|
<PERFORM ,V?LAMP-OFF ,MICROWAVE-SECURITY-SCANNER>)
|
|
|
|
|
(T<PERFORM ,V?LAMP-ON ,MICROWAVE-SECURITY-SCANNER>)>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<EQUAL? ,HERE ,NORTH-WALL>
|
|
|
|
|
<COND (<VERB? LAMP-OFF>
|
|
|
|
|
<PERFORM ,V?LAMP-OFF ,COMPUTESTOR>)
|
|
|
|
|
(T<PERFORM ,V?LAMP-ON ,COMPUTESTOR>)>
|
|
|
|
|
<RTRUE>)>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT POWER-SUPPLY
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "power")
|
|
|
|
|
(ADJECTIVE POWER)
|
|
|
|
|
(SYNONYM SUPPLY)
|
|
|
|
|
(TEXT "(You'll find that information in your SEASTALKER package.)")>
|
|
|
|
|
|
|
|
|
|
<OBJECT DISTRESS-CALL
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "distress call")
|
|
|
|
|
(ADJECTIVE DISTRESS SOS)
|
|
|
|
|
(SYNONYM CALL SOS)>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-SONAR
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "sonar")
|
|
|
|
|
(ADJECTIVE DETECT SONAR)
|
|
|
|
|
(SYNONYM SONAR SYSTEM ;SONARSCOPE EQUIPM GEAR ;TRANSDUCER)
|
|
|
|
|
(ACTION GLOBAL-SONAR-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GLOBAL-SONAR-F ()
|
|
|
|
|
<COND (<EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
|
|
|
|
<DO-INSTEAD-OF ,SONARSCOPE ,GLOBAL-SONAR>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(,SUB-IN-DOME
|
|
|
|
|
<DO-INSTEAD-OF ,SONAR-EQUIPMENT ,GLOBAL-SONAR>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
;(<VERB? WALK-TO> <PERFORM ,PRSA ,SONAR-EQUIPMENT> <RTRUE>)
|
|
|
|
|
(<REMOTE-VERB?> <RFALSE>)
|
|
|
|
|
(T <NOT-HERE ,GLOBAL-SONAR>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-SURFACE
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "surface")
|
|
|
|
|
(SYNONYM SURFACE)>
|
|
|
|
|
|
|
|
|
|
<GLOBAL ALARM-RINGING T>
|
|
|
|
|
<GLOBAL WOMAN-ON-SCREEN <>>
|
|
|
|
|
|
|
|
|
|
<OBJECT ALARM
|
|
|
|
|
(IN LOCAL-GLOBALS ;CENTER-OF-LAB)
|
|
|
|
|
(DESC "alarm bell")
|
|
|
|
|
(ADJECTIVE VIDEOPHONE ALARM WARNING)
|
|
|
|
|
(SYNONYM ALARM BELL)
|
|
|
|
|
(FLAGS NDESCBIT VOWELBIT)
|
|
|
|
|
(ACTION ALARM-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE ALARM-F ()
|
|
|
|
|
<COND (<VERB? LAMP-OFF LISTEN REPLY STOP>
|
|
|
|
|
<COND (,ALARM-RINGING
|
|
|
|
|
<WHY-NOT-VP>)
|
|
|
|
|
;(<OR ,DEPTH-WARNING ,SONAR-WARNING ,SHIP-WARNING>
|
|
|
|
|
<MORE-SPECIFIC>)
|
|
|
|
|
(T <TELL "It's not ringing!" CR>)>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE WHY-NOT-VP ()
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "Why not turn on the " D ,VIDEOPHONE "?" CR>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<OBJECT VIDEOPHONE
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(ADJECTIVE VIDEOPHONE VIDEO)
|
|
|
|
|
(SYNONYM VIDEOPHONE ;TV SPEAKER PHONE SCREEN)
|
|
|
|
|
(DESC "videophone")
|
|
|
|
|
(ACTION VIDEOPHONE-F)
|
|
|
|
|
(FLAGS NDESCBIT)
|
|
|
|
|
(VALUE 1)
|
|
|
|
|
(TEXT "(You'll find that information in your SEASTALKER package.)")>
|
|
|
|
|
|
|
|
|
|
<OBJECT VIDEOPHONE-2
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(DESC "videophone")
|
|
|
|
|
(ADJECTIVE ;VIDEO VIDEOPHONE)
|
|
|
|
|
(SYNONYM PICTURE SOUND)
|
|
|
|
|
(VALUE 1)
|
|
|
|
|
(ACTION VIDEOPHONE-2-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE VIDEOPHONE-2-F ()
|
|
|
|
|
<TELL ,I-ASSUME " the " D ,VIDEOPHONE ".)" CR>
|
|
|
|
|
<DO-INSTEAD-OF ,VIDEOPHONE ,VIDEOPHONE-2>
|
|
|
|
|
<RTRUE>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE VIDEOPHONE-F ("OPTIONAL" ARG "AUX" V)
|
|
|
|
|
<COND (<VERB? EXAMINE ;ANALYZE READ>
|
|
|
|
|
<COND (<EQUAL? ,REMOTE-PERSON-ON ,VIDEOPHONE>
|
|
|
|
|
<TELL "You can see " D ,REMOTE-PERSON " on" THE-PRSO "."CR>)
|
|
|
|
|
(,WOMAN-ON-SCREEN
|
|
|
|
|
<TELL
|
|
|
|
|
"You can see a fuzzy picture of a woman on" THE-PRSO ". Maybe you should
|
|
|
|
|
turn the knob." CR>)
|
|
|
|
|
(<FSET? ,VIDEOPHONE ,ONBIT>
|
|
|
|
|
<TELL
|
|
|
|
|
"The " D ,VIDEOPHONE " is on, but no one's on the screen." CR>)
|
|
|
|
|
;(,ALARM-RINGING
|
|
|
|
|
<TELL "An "D ,ALARM" on the " D ,VIDEOPHONE " is ringing." CR>)
|
|
|
|
|
(T <TELL "The screen is dark." CR>)>)
|
|
|
|
|
(<VERB? LISTEN>
|
|
|
|
|
<COND (<EQUAL? ,REMOTE-PERSON-ON ,VIDEOPHONE>
|
|
|
|
|
<PERFORM ,PRSA ,REMOTE-PERSON>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(,WOMAN-ON-SCREEN
|
|
|
|
|
<TELL
|
|
|
|
|
"You can hear fuzzy sound from" THE-PRSO ". Maybe you should
|
|
|
|
|
turn the knob." CR>)
|
|
|
|
|
(,ALARM-RINGING
|
|
|
|
|
<TELL
|
|
|
|
|
"An " D ,ALARM " on the " D ,VIDEOPHONE " is ringing." CR>)>)
|
|
|
|
|
(<AND <VERB? ANALYZE> <IOBJ? GLOBAL-SABOTAGE> ,SUB-IN-TANK>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"If you wish
|
|
|
|
|
to determine at once whether any saboteur or other intruder may have
|
|
|
|
|
penetrated">
|
|
|
|
|
<RESEARCH-LAB>
|
|
|
|
|
<TELL ", activate the " D ,MICROWAVE-SECURITY-SCANNER "." CR>)
|
|
|
|
|
(<AND <VERB? WALK-TO>
|
|
|
|
|
<OR ,SUB-IN-TANK ,SUB-IN-DOME>
|
|
|
|
|
<NOT <EQUAL? ,HERE ,CENTER-OF-LAB ,COMM-BLDG>>>
|
|
|
|
|
<COND (,SUB-IN-TANK
|
|
|
|
|
<PERFORM ,V?WALK-TO ,CENTER-OF-LAB>)
|
|
|
|
|
(T
|
|
|
|
|
<PERFORM ,V?WALK-TO ,COMM-BLDG>)>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<REMOTE-VERB?> <RFALSE>)
|
|
|
|
|
(<NOT <EQUAL? ,HERE ,CENTER-OF-LAB ,COMM-BLDG>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You must be in the ">
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<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>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"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.
|
|
|
|
|
Or, alternately, you may have the " D ,VIDEOPHONE " repaired by a "
|
|
|
|
|
D ,GLOBAL-TECHNICIAN "." CR>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<NOT <FSET? ,VIDEOPHONE ,ONBIT>>
|
|
|
|
|
<WHY-NOT-VP>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<NOT ,WOMAN-ON-SCREEN>
|
|
|
|
|
<TELL "Nothing changes." CR>
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<SETG WOMAN-ON-SCREEN <>>
|
|
|
|
|
<PHONE-ON ,GLOBAL-BLY ,AQUADOME ,VIDEOPHONE>
|
|
|
|
|
;<ENABLE <QUEUE I-SHARON-TO-HALLWAY 12>>
|
|
|
|
|
<THIS-IS-IT ,PROBLEM>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"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
|
|
|
|
|
saying. \"This is the " D ,AQUADOME " calling">
|
|
|
|
|
<RESEARCH-LAB>
|
|
|
|
|
<TELL "! We have an urgent problem!\"" CR>
|
|
|
|
|
<SCORE-OBJ ,VIDEOPHONE-2>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? LAMP-OFF>
|
|
|
|
|
;<DISABLE <INT I-SHARON-TO-HALLWAY>>
|
|
|
|
|
<COND (<NOT <FSET? ,VIDEOPHONE ,ONBIT>>
|
|
|
|
|
<RFALSE>)>
|
|
|
|
|
<SETG WOMAN-ON-SCREEN <>>
|
|
|
|
|
<FCLEAR ,VIDEOPHONE ,ONBIT>
|
|
|
|
|
<COND (<AND <==? ,REMOTE-PERSON-ON ,VIDEOPHONE>
|
|
|
|
|
<FSET? ,MICROPHONE ,ONBIT>>
|
|
|
|
|
<PERFORM ,V?GOODBYE ,REMOTE-PERSON>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(T
|
|
|
|
|
<PHONE-OFF>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "The screen goes dark." CR>)>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<AND <VERB? LAMP-ON REPLY> ,SUB-IN-TANK>
|
|
|
|
|
<COND (<FSET? ,VIDEOPHONE ,ONBIT>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<ALREADY ,VIDEOPHONE "on">
|
|
|
|
|
<RTRUE>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<OR <FSET? ,CIRCUIT-BREAKER ,OPENBIT>
|
|
|
|
|
<FSET? ,VIDEOPHONE ,MUNGBIT>>
|
|
|
|
|
<TELL "You can't. It's conked out." CR>
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<DISABLE <INT I-LAMP-ON-SCOPE>>
|
|
|
|
|
<FSET ,VIDEOPHONE ,ONBIT>
|
|
|
|
|
<COND (,ALARM-RINGING
|
|
|
|
|
<SETG ALARM-RINGING <>>
|
|
|
|
|
<QUEUE I-ALARM-RINGING 0>
|
|
|
|
|
<SETG WOMAN-ON-SCREEN T>
|
|
|
|
|
<THIS-IS-IT ,GLOBAL-BLY>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"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>)
|
2019-04-14 05:35:09 +03:00
|
|
|
|
(T <TELL "A test pattern appears." CR>)>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<VERB? PHONE>
|
|
|
|
|
<COND (<OR ,WOMAN-ON-SCREEN
|
|
|
|
|
<EQUAL? ,REMOTE-PERSON-ON ,VIDEOPHONE>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You should finish talking with ">
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<COND (,WOMAN-ON-SCREEN <TELL "the woman">)
|
|
|
|
|
(T <TELL D ,REMOTE-PERSON>)>
|
|
|
|
|
<TELL " first." CR>
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<COND (<AND <DOBJ? YOUR-LABORATORY> ,SUB-IN-DOME>
|
|
|
|
|
<TELL "There's no answer." CR>)
|
|
|
|
|
(<AND <DOBJ? AQUADOME GLOBAL-BLY> ,SUB-IN-TANK>
|
|
|
|
|
<COND (,BLY-TOLD-PROBLEM
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"There's no answer. The crew must be busy with the " D ,SNARK "." CR>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(,ALARM-RINGING
|
|
|
|
|
<PERFORM ,V?LAMP-ON ,VIDEOPHONE>
|
|
|
|
|
<RTRUE>)>)>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT VIDEOPHONE-TRANSMITTER
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM TRANSMITTER)
|
|
|
|
|
(DESC "transmitter")
|
|
|
|
|
(FLAGS NDESCBIT)
|
|
|
|
|
(ACTION VIDEOPHONE-TEST-F)>
|
|
|
|
|
|
|
|
|
|
<OBJECT VIDEOPHONE-CABLE
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(ADJECTIVE UNDERSEA COAXIAL)
|
|
|
|
|
(SYNONYM CABLE)
|
|
|
|
|
(DESC "undersea coaxial cable")
|
|
|
|
|
(FLAGS NDESCBIT)
|
|
|
|
|
(ACTION VIDEOPHONE-TEST-F)>
|
|
|
|
|
|
|
|
|
|
<OBJECT VIDEOPHONE-SATELLITE
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM SATELLITE)
|
|
|
|
|
(DESC "satellite")
|
|
|
|
|
(FLAGS NDESCBIT)
|
|
|
|
|
(ACTION VIDEOPHONE-TEST-F)>
|
|
|
|
|
|
|
|
|
|
<OBJECT DAMAGE
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "damage")
|
|
|
|
|
(SYNONYM DAMAGE)>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-SABOTAGE
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "sabotage")
|
|
|
|
|
(SYNONYM SABOTAGE)
|
|
|
|
|
(ACTION GLOBAL-SABOTAGE-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GLOBAL-SABOTAGE-F ()
|
|
|
|
|
<COND (<AND <VERB? ANALYZE> <DOBJ? VIDEOPHONE ;GLOBAL-VIDEOPHONE>>
|
|
|
|
|
;<SETG TIP-SAYS 0>
|
|
|
|
|
<DISABLE <INT I-TIP-SAYS>>
|
|
|
|
|
<RFALSE>)>>
|
|
|
|
|
|
|
|
|
|
;<OBJECT GLOBAL-WEATHER
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "weather")
|
|
|
|
|
(SYNONYM WEATHER CLIMATE)>
|
|
|
|
|
|
|
|
|
|
;<OBJECT GLOBAL-CALL
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "telephone call")
|
|
|
|
|
(ADJECTIVE TELEPHONE PHONE)
|
|
|
|
|
(SYNONYM CALL ;CONVERSATION)>
|
|
|
|
|
|
|
|
|
|
<OBJECT INTDIR
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM DIRECT)
|
|
|
|
|
(ADJECTIVE NORTH EAST SOUTH WEST NE NW SE SW)
|
|
|
|
|
;(FLAGS TOOLBIT)
|
|
|
|
|
(DESC "compass direction")>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-WATER
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "sea water")
|
|
|
|
|
(ADJECTIVE SEA)
|
|
|
|
|
(SYNONYM WATER SEAWATER)
|
|
|
|
|
(ACTION WATER-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE WATER-F ()
|
|
|
|
|
<COND (<REMOTE-VERB?> <RFALSE>)
|
|
|
|
|
(,SUB-IN-TANK
|
|
|
|
|
<COND (<AND <IN-TANK-AREA? ,HERE> ,TEST-TANK-FULL>
|
|
|
|
|
<DO-INSTEAD-OF ,TEST-TANK ,GLOBAL-WATER>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<VERB? ANALYZE EXAMINE>
|
|
|
|
|
<COND (<GLOBAL-IN? ,WINDOW ,HERE>
|
|
|
|
|
<PERFORM ,V?LOOK-OUTSIDE ,WINDOW>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<EQUAL? ,HERE ,SUB>
|
|
|
|
|
<PERFORM ,V?LOOK-OUTSIDE ,SUB-WINDOW>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<VERB? SWIM THROUGH>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "This is no time for a swim, " FN "!" CR>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<OBJECT SEA
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "open sea")
|
|
|
|
|
(ADJECTIVE OPEN ATLANTIC)
|
|
|
|
|
(SYNONYM OCEAN SEA)
|
|
|
|
|
(FLAGS VOWELBIT)
|
|
|
|
|
(ACTION SEA-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE SEA-F ()
|
|
|
|
|
<COND (<VERB? EXAMINE ANALYZE>
|
|
|
|
|
<COND (<OR ,SUB-IN-DOME
|
|
|
|
|
,SUB-IN-OPEN-SEA
|
|
|
|
|
<==? ,NOW-TERRAIN ,SEA-TERRAIN>>
|
|
|
|
|
<PLENTY-WATER>)>)
|
|
|
|
|
(<VERB? ;ENTER FIND THROUGH WALK-TO>
|
|
|
|
|
<COND (<OR ,SUB-IN-DOME
|
|
|
|
|
,SUB-IN-OPEN-SEA
|
|
|
|
|
<==? ,NOW-TERRAIN ,SEA-TERRAIN>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You're in it!" CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<EQUAL? ,HERE ,SUB ,CRAWL-SPACE>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"The nautical chart in your SEASTALKER package should help." CR>)
|
2019-04-14 05:35:09 +03:00
|
|
|
|
(T <TELL "First you must get in the " D ,SUB "." CR>)>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<OBJECT HER
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM SHE HER WOMAN GIRL)
|
|
|
|
|
(DESC "her")
|
|
|
|
|
(FLAGS NARTICLEBIT)>
|
|
|
|
|
|
|
|
|
|
<OBJECT HIM
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM HE HIM MAN BOY)
|
|
|
|
|
(DESC "him")
|
|
|
|
|
(FLAGS NARTICLEBIT)>
|
|
|
|
|
|
|
|
|
|
<OBJECT YOU
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM YOU YOURSELF HIMSELF HERSELF)
|
|
|
|
|
(DESC "himself or herself")
|
|
|
|
|
(FLAGS ;NDESCBIT NARTICLEBIT)
|
|
|
|
|
(ACTION YOU-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE YOU-F ()
|
|
|
|
|
<COND (<NOT <==? ,WINNER ,PLAYER>>
|
|
|
|
|
<DO-INSTEAD-OF ,WINNER ,YOU>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<AND <VERB? ASK-ABOUT> <IOBJ? YOU>>
|
|
|
|
|
<PERFORM ,V?ASK-ABOUT ,PRSO ,PRSO>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT HINT
|
|
|
|
|
(DESC "clue" ;"hint")
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM CLUE HINT HELP)
|
|
|
|
|
(ACTION HINT-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE HINT-F ()
|
|
|
|
|
<COND (<VERB? FIND>
|
|
|
|
|
<TELL ,HELP-TEXT CR>)
|
|
|
|
|
(<VERB? ASK-FOR ASK-CONTEXT-FOR TAKE>
|
|
|
|
|
<COND (<EQUAL? ,TIP ,PRSO ,PRSI ,WINNER>
|
|
|
|
|
<TELL ,HELP-TEXT CR>)
|
|
|
|
|
(T <MORE-SPECIFIC>)>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT DIRNS
|
|
|
|
|
(DESC "Aquadome directions")
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(ADJECTIVE DOME AQUADOME)
|
|
|
|
|
(SYNONYM DIRECT)
|
|
|
|
|
(ACTION DIRNS-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE DIRNS-F ()
|
|
|
|
|
<COND (<AND <VERB? ASK-FOR> <DOBJ? GLOBAL-BLY>>
|
|
|
|
|
<SETG WINNER ,GLOBAL-BLY>
|
|
|
|
|
<PERFORM ,V?FIND ,AQUADOME>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT GLOBAL-HERE
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "here")
|
|
|
|
|
(SYNONYM HERE AREA ROOM PLACE)
|
|
|
|
|
(FLAGS NARTICLEBIT)
|
|
|
|
|
(GENERIC GENERIC-TANK-F)
|
|
|
|
|
(ACTION GLOBAL-HERE-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GLOBAL-HERE-F ("AUX" (FLG <>) F HR TIM VAL)
|
|
|
|
|
<COND (<VERB? KNOCK>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "Knocking on the walls reveals nothing unusual." CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<VERB? PUT TIE-TO>
|
|
|
|
|
<MORE-SPECIFIC>)
|
|
|
|
|
(<VERB? SEARCH EXAMINE>
|
|
|
|
|
<COND ;(<OUTSIDE? ,HERE>
|
|
|
|
|
<SET TIM 10>)
|
|
|
|
|
(<NOT <0? <GETP ,HERE ,P?CORRIDOR>>>
|
|
|
|
|
<SET TIM 3>)
|
|
|
|
|
(T <SET TIM <+ 2 <GETP ,HERE ,P?SIZE>>>)>
|
|
|
|
|
<COND (<==? ,P-ADVERB ,W?CAREFULLY> <SET TIM <* 2 .TIM>>)>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"(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">)>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL " search would take
|
2019-04-14 05:34:27 +03:00
|
|
|
|
" 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
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "Your "
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<COND (<==? ,P-ADVERB ,W?CAREFULLY>
|
|
|
|
|
"careful")
|
|
|
|
|
(T "brief")>
|
|
|
|
|
" search reveals nothing exciting." CR>)
|
|
|
|
|
(T
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"You didn't finish looking over the place." CR>)>)
|
|
|
|
|
(T <TELL "Okay." CR>)>)
|
|
|
|
|
(<VERB? WHAT ANALYZE ;ASK-ABOUT>
|
|
|
|
|
<SET F <FIRST? ,HERE>>
|
|
|
|
|
<REPEAT ()
|
|
|
|
|
<COND (<NOT .F> <RETURN>)
|
|
|
|
|
(<AND <FSET? .F ,CONTBIT> <INHABITED? .F>>
|
|
|
|
|
<SET FLG T>
|
|
|
|
|
<SET HR ,HERE>
|
|
|
|
|
<SETG HERE .F>
|
|
|
|
|
<GLOBAL-HERE-F>
|
|
|
|
|
<SETG HERE .HR>)
|
|
|
|
|
(<AND <FSET? .F ,PERSON> <NOT <==? .F ,PLAYER>>>
|
|
|
|
|
<SET FLG T>
|
|
|
|
|
<DESCRIBE-OBJECT .F T 0>)>
|
|
|
|
|
<SET F <NEXT? .F>>>
|
|
|
|
|
<COND (<NOT .FLG> <TELL "There's nobody else here." CR>)>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT AIR
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "air")
|
|
|
|
|
(SYNONYM AIR WIND BREEZE OXYGEN)
|
|
|
|
|
(FLAGS VOWELBIT)
|
|
|
|
|
(ACTION AIR-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE AIR-F ()
|
|
|
|
|
<COND (<VERB? EXAMINE>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You can see through the air around you." CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<VERB? WALK-TO>
|
|
|
|
|
<TELL "It's all around you!" CR>)
|
|
|
|
|
(<VERB? SMELL>
|
|
|
|
|
<COND ;(<OUTSIDE? ,HERE>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "The air is clear and fresh." CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<FRESH-AIR? ,HERE> <RTRUE>)
|
2019-04-14 05:35:09 +03:00
|
|
|
|
(T <TELL "The air is rather musty." CR>)>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<ROUTINE GENERIC-TANK-F (OBJ)
|
|
|
|
|
<COND ;(<VERB? LEAVE>
|
|
|
|
|
,GLOBAL-HERE)
|
|
|
|
|
(,SUB-IN-TANK
|
|
|
|
|
,TEST-TANK)
|
|
|
|
|
(<OR ,SUB-IN-DOME <SUB-OUTSIDE-AIRLOCK?>>
|
|
|
|
|
,DOCKING-TANK)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT DOCKING-TANK
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "docking tank")
|
|
|
|
|
(ADJECTIVE DOCKING)
|
|
|
|
|
(SYNONYM TANK ;AREA ;ROOM ;AIRLOCK DOCK)
|
|
|
|
|
(GENERIC GENERIC-TANK-F)
|
|
|
|
|
(ACTION AIRLOCK-F)>
|
|
|
|
|
|
|
|
|
|
<OBJECT TEST-TANK
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "test tank")
|
|
|
|
|
(ADJECTIVE TEST)
|
|
|
|
|
(SYNONYM TANK ;AREA ;ROOM DOCK)
|
|
|
|
|
(GENERIC GENERIC-TANK-F)
|
|
|
|
|
(ACTION TEST-TANK-F)>
|
|
|
|
|
|
|
|
|
|
<GLOBAL TEST-TANK-FULL <>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE TOO-FAR-AWAY (OBJ)
|
|
|
|
|
<TOO-BAD-BUT .OBJ "too far away">
|
|
|
|
|
;<TELL "You're too far away to do that to the " D .OBJ "." CR>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE TEST-TANK-F ()
|
|
|
|
|
<COND (<VERB? WALK-TO>
|
|
|
|
|
<COND (<IN-TANK-AREA? ,HERE> <ALREADY ,PLAYER "in it">)
|
|
|
|
|
(,SUB-IN-TANK
|
|
|
|
|
<PERFORM ,PRSA ,NORTH-TANK-AREA>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<REMOTE-VERB?> <RFALSE>)
|
|
|
|
|
(<EQUAL? ,NOW-TERRAIN ,BAY-TERRAIN>
|
|
|
|
|
<TOO-FAR-AWAY ,TEST-TANK>)
|
|
|
|
|
(<NOT ,SUB-IN-TANK>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You're nowhere near">
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<RESEARCH-LAB>
|
|
|
|
|
<TELL "!" CR>)
|
|
|
|
|
(<AND <OR <NOT <EQUAL? ,HERE ,SUB>> <NOT ,SUB-IN-TANK>>
|
|
|
|
|
<NOT <EQUAL? ,HERE ,NORTH-TANK-AREA ,WEST-TANK-AREA
|
|
|
|
|
,SOUTH-TANK-AREA>>>
|
|
|
|
|
;<SETG P-WON <>>
|
|
|
|
|
<NOT-HERE ,TEST-TANK>)
|
|
|
|
|
(<VERB? BOARD>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "That won't do any good." CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<VERB? ;DROP LEAVE>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"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>>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You'll have to go west to do that." CR>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? EMPTY>
|
|
|
|
|
<COND (<FSET? ,TANK-GATE ,OPENBIT>
|
|
|
|
|
<YOU-CANT "empty" ,TANK-GATE "open">)
|
|
|
|
|
(<FSET? ,ENGINE ,ONBIT>
|
|
|
|
|
<YOU-CANT "empty" ,ENGINE "on">)
|
|
|
|
|
(,TEST-TANK-FULL
|
|
|
|
|
<SETG TEST-TANK-FULL <>>
|
|
|
|
|
<TELL
|
|
|
|
|
"The " D ,GLOBAL-WATER " quickly drains from the tank." CR>)
|
|
|
|
|
(T <ALREADY ,TEST-TANK "empty">)>)
|
|
|
|
|
(<VERB? FILL>
|
|
|
|
|
<COND (,TEST-TANK-FULL
|
|
|
|
|
<ALREADY ,TEST-TANK "full">)
|
|
|
|
|
(T
|
|
|
|
|
<SETG TEST-TANK-FULL T>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"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>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "This is no time for a swim, " FN "!" CR>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<OBJECT FILL-TANK-BUTTON
|
|
|
|
|
(IN LOCAL-GLOBALS ;SUB)
|
|
|
|
|
(DESC "tank control")
|
|
|
|
|
(ADJECTIVE TANK)
|
|
|
|
|
(SYNONYM CONTROL SWITCH)
|
|
|
|
|
(FLAGS NDESCBIT)
|
|
|
|
|
(ACTION FILL-TANK-BUTTON-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE FILL-TANK-BUTTON-F ("AUX" OBJ FLAG)
|
|
|
|
|
<COND (,SUB-IN-TANK
|
|
|
|
|
<SET FLAG ,TEST-TANK-FULL>
|
|
|
|
|
<SET OBJ ,TEST-TANK>)
|
|
|
|
|
(<OR ,SUB-IN-DOME <SUB-OUTSIDE-AIRLOCK?>>
|
|
|
|
|
<SET FLAG ,AIRLOCK-FULL>
|
|
|
|
|
<SET OBJ ,AIRLOCK>)
|
|
|
|
|
(T <RFALSE>)>
|
|
|
|
|
<COND (<VERB? OPEN CLOSE FILL EMPTY>
|
|
|
|
|
<PERFORM ,PRSA .OBJ>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? ANALYZE EXAMINE LOOK-INSIDE>
|
|
|
|
|
<TELL "The " D .OBJ " is " <TANK-STATUS> "." CR>)
|
|
|
|
|
(<VERB? MOVE PUSH USE>
|
|
|
|
|
<COND (.FLAG
|
|
|
|
|
<TELL ,I-ASSUME " empty" THE .OBJ ".)" CR>
|
|
|
|
|
<PERFORM ,V?EMPTY .OBJ>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL ,I-ASSUME " fill" THE .OBJ ".)" CR>
|
|
|
|
|
<PERFORM ,V?FILL .OBJ>
|
|
|
|
|
<RTRUE>)>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT TANK-GATE
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC ;"steel" "test tank gate")
|
|
|
|
|
(ADJECTIVE STEEL TEST TANK SEA REPELATRON SAFETY FLOOD)
|
|
|
|
|
(SYNONYM GATE GATES BUMPER)
|
|
|
|
|
(FLAGS DOORBIT)
|
|
|
|
|
(GENERIC GENERIC-GATE-F)
|
|
|
|
|
(ACTION TANK-GATE-F)>
|
|
|
|
|
|
|
|
|
|
<GLOBAL OPENED-GATE-FROM-SUB <>>
|
|
|
|
|
<ROUTINE TANK-GATE-F ()
|
|
|
|
|
<COND (<VERB? FIND>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "It's on the east wall of the test tank." CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<REMOTE-VERB?> <RFALSE>)
|
|
|
|
|
(<AND <NOT <EQUAL? ,HERE ,SUB>>
|
|
|
|
|
<NOT <IN-TANK-AREA? ,HERE>>>
|
|
|
|
|
;<SETG P-WON <>>
|
|
|
|
|
<NOT-HERE ,TANK-GATE>)
|
|
|
|
|
(<VERB? ANALYZE EXAMINE>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"This gate "
|
|
|
|
|
<COND (<FSET? ,TANK-GATE ,OPENBIT> "is") (T "can be")>
|
|
|
|
|
" 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 " LN " subs." CR>)
|
|
|
|
|
(<VERB? OPEN CLOSE RAISE DROP>
|
|
|
|
|
<COND (<NOT <EQUAL? ,HERE ,WEST-TANK-AREA ,SUB>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You'll have to go west to do that." CR>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<OPEN-CLOSE-GATE ,TANK-GATE ,TEST-TANK-FULL ,TEST-TANK>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT OPEN-GATE-BUTTON
|
|
|
|
|
(IN LOCAL-GLOBALS ;SUB)
|
|
|
|
|
(DESC "gate control")
|
|
|
|
|
(ADJECTIVE GATE)
|
|
|
|
|
(SYNONYM CONTROL SWITCH)
|
|
|
|
|
(FLAGS NDESCBIT)
|
|
|
|
|
(ACTION OPEN-GATE-BUTTON-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE OPEN-GATE-BUTTON-F ("AUX" OBJ)
|
|
|
|
|
<COND (,SUB-IN-TANK
|
|
|
|
|
<SET OBJ ,TANK-GATE>)
|
|
|
|
|
(<OR ,SUB-IN-DOME <SUB-OUTSIDE-AIRLOCK?>>
|
|
|
|
|
<SET OBJ ,AIRLOCK-HATCH>)
|
|
|
|
|
(T <RFALSE>)>
|
|
|
|
|
<COND (<VERB? OPEN CLOSE RAISE DROP>
|
|
|
|
|
<PERFORM ,PRSA .OBJ>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? ANALYZE EXAMINE>
|
|
|
|
|
<TELL "The " D .OBJ " is " <GATE-STATUS> "." CR>)
|
|
|
|
|
(<VERB? MOVE PUSH USE>
|
|
|
|
|
<COND (<FSET? .OBJ ,OPENBIT>
|
|
|
|
|
<TELL ,I-ASSUME " close" THE .OBJ ".)" CR>
|
|
|
|
|
<PERFORM ,V?CLOSE .OBJ>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(T
|
|
|
|
|
<TELL ,I-ASSUME " open" THE .OBJ ".)" CR>
|
|
|
|
|
<PERFORM ,V?OPEN .OBJ>
|
|
|
|
|
<RTRUE>)>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GATE-STATUS ()
|
|
|
|
|
<COND (,SUB-IN-TANK
|
|
|
|
|
<COND (<FSET? ,TANK-GATE ,OPENBIT> "open") (T "closed")>)
|
|
|
|
|
(<OR ,SUB-IN-DOME <SUB-OUTSIDE-AIRLOCK?>>
|
|
|
|
|
<COND (<FSET? ,AIRLOCK-HATCH ,OPENBIT> "open") (T "closed")>)
|
|
|
|
|
(T "???")>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE TANK-STATUS ()
|
|
|
|
|
<COND (,SUB-IN-TANK
|
|
|
|
|
<COND (,TEST-TANK-FULL "full") (T "empty")>)
|
|
|
|
|
(<OR ,SUB-IN-DOME <SUB-OUTSIDE-AIRLOCK?>>
|
|
|
|
|
<COND (,AIRLOCK-FULL "full") (T "empty")>)
|
|
|
|
|
(T "???")>>
|
|
|
|
|
|
|
|
|
|
<OBJECT AIRLOCK-HATCH
|
|
|
|
|
(IN GLOBAL-OBJECTS ;LOCAL-GLOBALS)
|
|
|
|
|
(DESC ;"Aquadome airlock" "docking tank gate")
|
|
|
|
|
(ADJECTIVE DOCKING TANK AQUADOME AIRLOCK)
|
|
|
|
|
(SYNONYM ;HATCH GATE GATES)
|
|
|
|
|
(FLAGS DOORBIT VOWELBIT)
|
|
|
|
|
(GENERIC GENERIC-GATE-F)
|
|
|
|
|
(ACTION AIRLOCK-HATCH-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE AIRLOCK-HATCH-F ()
|
|
|
|
|
<COND (<VERB? FIND>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"It's on the south wall of the " D ,AQUADOME " " D ,AIRLOCK "." CR>)
|
|
|
|
|
(<REMOTE-VERB?> <RFALSE>)
|
|
|
|
|
(<AND <OR <NOT ,SUB-IN-DOME>
|
|
|
|
|
<NOT <EQUAL? ,HERE ,SUB ,AIRLOCK ,BLY-OFFICE>>>
|
|
|
|
|
<NOT <SUB-OUTSIDE-AIRLOCK?>>>
|
|
|
|
|
<TOO-FAR-AWAY ,AIRLOCK-HATCH>)
|
|
|
|
|
(<NOT <0? ,SNARK-ATTACK-COUNT>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "It's too late now! The machinery is jammed!" CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<VERB? OPEN CLOSE RAISE DROP>
|
|
|
|
|
<OPEN-CLOSE-GATE ,AIRLOCK-HATCH ,AIRLOCK-FULL ,AIRLOCK>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE OPEN-CLOSE-GATE (GATE FULL TANK)
|
|
|
|
|
<COND (<VERB? OPEN RAISE>
|
|
|
|
|
<COND (<FSET? .GATE ,OPENBIT>
|
|
|
|
|
<ALREADY .GATE "open">
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<NOT .FULL>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"You'd better fill the " D .TANK " first, unless you want to go surfing!" CR>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(T
|
|
|
|
|
<COND (<AND <==? .GATE ,TANK-GATE> <EQUAL? ,HERE ,SUB>>
|
|
|
|
|
<SETG OPENED-GATE-FROM-SUB T>)>
|
|
|
|
|
<FSET .GATE ,OPENBIT>)>)
|
|
|
|
|
(T
|
|
|
|
|
<COND (<FSET? .GATE ,OPENBIT>
|
|
|
|
|
<FCLEAR .GATE ,OPENBIT>)
|
|
|
|
|
(T
|
|
|
|
|
<ALREADY .GATE "closed">
|
|
|
|
|
<RTRUE>)>)>
|
|
|
|
|
<COND (<FSET? .GATE ,OPENBIT> <TELL "Opened">)
|
|
|
|
|
(T <TELL "Closed">)>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,SUB>
|
|
|
|
|
<TELL " (by remote control)">)>
|
|
|
|
|
<TELL "." CR>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE AIRLOCK-POP? ()
|
|
|
|
|
<COND (,GREENUP-ESCAPE
|
|
|
|
|
<FIND-FLAG ,AIRLOCK ,PERSON ,GREENUP>)
|
|
|
|
|
(T <FIND-FLAG ,AIRLOCK ,PERSON>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GENERIC-GATE-F (OBJ)
|
|
|
|
|
<COND (,SUB-IN-TANK
|
|
|
|
|
,TANK-GATE)
|
|
|
|
|
(<OR ,SUB-IN-DOME <SUB-OUTSIDE-AIRLOCK?>>
|
|
|
|
|
,AIRLOCK-HATCH)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE SUB-OUTSIDE-AIRLOCK? ()
|
|
|
|
|
<COND (<NOT <==? ,SUB-DEPTH ,AIRLOCK-DEPTH>>
|
|
|
|
|
<RFALSE>)
|
|
|
|
|
(<NOT <0? ,SUB-LON>>
|
|
|
|
|
<RFALSE>)
|
|
|
|
|
(,FINE-SONAR
|
|
|
|
|
<COND (<==? -2 ,SUB-LAT>
|
|
|
|
|
<RTRUE>)>)
|
|
|
|
|
(<==? -1 ,SUB-LAT>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT AIRLOCK-ROOF
|
|
|
|
|
(IN GLOBAL-OBJECTS ;LOCAL-GLOBALS)
|
|
|
|
|
(DESC ;"Aquadome airlock" "docking tank roof")
|
|
|
|
|
(ADJECTIVE DOCKING TANK AIRLOCK)
|
|
|
|
|
(SYNONYM ROOF)
|
|
|
|
|
(FLAGS DOORBIT VOWELBIT)
|
|
|
|
|
(ACTION AIRLOCK-ROOF-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE AIRLOCK-ROOF-F ()
|
|
|
|
|
<COND (<VERB? FIND>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "It covers the " D ,AQUADOME " " D ,AIRLOCK "." CR>)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(<REMOTE-VERB?> <RFALSE>)
|
|
|
|
|
(<OR <NOT ,SUB-IN-DOME>
|
|
|
|
|
<AND <NOT <EQUAL? ,HERE ,SUB ,AIRLOCK ,BLY-OFFICE>>
|
|
|
|
|
<NOT <EQUAL? ,HERE ,AIRLOCK-WALL>>>>
|
|
|
|
|
<TOO-FAR-AWAY ,AIRLOCK-ROOF>)
|
|
|
|
|
(<VERB? OPEN>
|
|
|
|
|
<COND (<FSET? ,AIRLOCK-ROOF ,OPENBIT>
|
|
|
|
|
<ALREADY ,AIRLOCK-ROOF "open">
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<FSET? ,AIRLOCK-HATCH ,OPENBIT>
|
|
|
|
|
;<ENABLE <QUEUE I-DOME-FLOODED 2>>
|
|
|
|
|
<THIS-IS-IT ,AIRLOCK-HATCH>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"A safety mechanism prevents it. The " D ,AIRLOCK-HATCH " is open!" CR>
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<FSET ,AIRLOCK-ROOF ,OPENBIT>
|
|
|
|
|
<TELL "Opened">
|
|
|
|
|
<COND (<EQUAL? ,HERE ,SUB>
|
|
|
|
|
<TELL " (by remote control)">)>
|
|
|
|
|
<TELL "." CR>)
|
|
|
|
|
(<VERB? CLOSE>
|
|
|
|
|
<COND (<NOT <FSET? ,AIRLOCK-ROOF ,OPENBIT>>
|
|
|
|
|
<ALREADY ,AIRLOCK-ROOF "closed">
|
|
|
|
|
<RTRUE>)>
|
|
|
|
|
<FCLEAR ,AIRLOCK-ROOF ,OPENBIT>
|
|
|
|
|
<TELL "Closed">
|
|
|
|
|
<COND (<EQUAL? ,HERE ,SUB>
|
|
|
|
|
<TELL " (by remote control)">)>
|
|
|
|
|
<TELL "." CR>
|
|
|
|
|
;<DISABLE <INT I-DOME-FLOODED>>
|
|
|
|
|
<COND (<AND ,GREENUP-ESCAPE <G? 3 ,GREENUP-ESCAPE>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL
|
2019-04-14 05:34:27 +03:00
|
|
|
|
"Greenup can't get into the " D ,SUB " and escape any more. ">
|
|
|
|
|
<GREENUP-CUFF>)>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT PRIVATE-MATTER
|
|
|
|
|
(DESC "private matter")
|
|
|
|
|
;(IN GLOBAL-OBJECTS)
|
2019-04-14 05:35:09 +03:00
|
|
|
|
(ADJECTIVE PERSONAL ;PRIVATELY)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(SYNONYM MATTER)>
|
|
|
|
|
|
|
|
|
|
<OBJECT EVIDENCE
|
|
|
|
|
(DESC "evidence")
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(ADJECTIVE ;EVEN ;MORE OTHER DEFINITE)
|
|
|
|
|
(SYNONYM EVIDENCE)
|
|
|
|
|
(FLAGS VOWELBIT)
|
|
|
|
|
(ACTION EVIDENCE-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE EVIDENCE-F ()
|
|
|
|
|
<COND (<AND ,ZOE-MENTIONED-EVIDENCE <VERB? TAKE>>
|
|
|
|
|
<PERFORM ,PRSA ,BLACK-BOX>
|
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT MORE
|
|
|
|
|
(DESC "more")
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM MORE)
|
|
|
|
|
(FLAGS NARTICLEBIT)>
|
|
|
|
|
|
|
|
|
|
<OBJECT ORE-NODULES
|
|
|
|
|
(DESC "valuable ore deposit")
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(ADJECTIVE VALUABLE ORE)
|
|
|
|
|
(SYNONYM DEPOSIT FIELD NODULE)
|
|
|
|
|
;(FLAGS VOWELBIT)>
|
|
|
|
|
|
|
|
|
|
<OBJECT TIP-IDEA
|
|
|
|
|
(DESC "Tip's idea")
|
|
|
|
|
(ADJECTIVE ;YOUR HIS ;TIP TIP\'S RANDALL)
|
|
|
|
|
(SYNONYM IDEA ;PLAN TRAP)
|
|
|
|
|
(FLAGS NARTICLEBIT)>
|
|
|
|
|
|
|
|
|
|
<OBJECT BLY-PLAN
|
|
|
|
|
(DESC "Bly's plan")
|
|
|
|
|
(ADJECTIVE ;YOUR HER ;ZOE ZOE\'S BLY\'S)
|
|
|
|
|
(SYNONYM PLAN ;IDEA)
|
|
|
|
|
(FLAGS NARTICLEBIT)>
|
|
|
|
|
|
|
|
|
|
<OBJECT REASON
|
|
|
|
|
(DESC "reason")
|
|
|
|
|
(SYNONYM REASON)>
|
|
|
|
|
|
|
|
|
|
<OBJECT SONAR-MAN
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "sonar operator")
|
|
|
|
|
(ADJECTIVE AQUADOME SONAR)
|
|
|
|
|
(SYNONYM MAN OPERATOR)>
|
|
|
|
|
|
|
|
|
|
<OBJECT LAB-ASSISTANT
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "lab assistant")
|
|
|
|
|
(ADJECTIVE ;DOC DOC\'S ;WALT WALT\'S HORVAK LAB)
|
|
|
|
|
(SYNONYM ASSISTANT)
|
|
|
|
|
(ACTION LAB-ASSISTANT-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE LAB-ASSISTANT-F ()
|
|
|
|
|
<COND (<VERB? FIND WALK-TO>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<DO-INSTEAD-OF ,LOWELL ,LAB-ASSISTANT>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
"? Delete this object and put following in local-globals?"
|
|
|
|
|
<OBJECT DOC-LABORATORY
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "Doc's laboratory")
|
|
|
|
|
(ADJECTIVE ;DOC DOC\'S ;WALT WALT\'S HORVAK)
|
|
|
|
|
(SYNONYM LAB LABORATORY)
|
|
|
|
|
(FLAGS NARTICLEBIT)
|
|
|
|
|
(GENERIC GENERIC-LABORATORY-F)
|
|
|
|
|
(ACTION DOC-LABORATORY-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE DOC-LABORATORY-F ()
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<COND ;"(<OR ,SUB-IN-DOME ;<IN-DOME? ,HERE> <VERB? FIND>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<DO-INSTEAD-OF ,HERE ,DOC-LABORATORY>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<RTRUE>)"
|
|
|
|
|
(<VERB? WALK-TO THROUGH>
|
|
|
|
|
<PERFORM ,V?WALK-TO ,DOME-LAB>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT YOUR-LABORATORY
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "your laboratory")
|
|
|
|
|
(ADJECTIVE MY ;YOUR ;PRIVATELY RESEARCH $LN FROBTON)
|
|
|
|
|
(SYNONYM LAB LABORATORY)
|
|
|
|
|
(FLAGS NARTICLEBIT)
|
|
|
|
|
(GENERIC GENERIC-LABORATORY-F)
|
|
|
|
|
(ACTION YOUR-LABORATORY-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE YOUR-LABORATORY-F ()
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<COND (<OR <IN-LAB? ,HERE> ;",SUB-IN-TANK <VERB? FIND>">
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<DO-INSTEAD-OF ,HERE ,YOUR-LABORATORY>
|
|
|
|
|
<RTRUE>)
|
2019-04-14 05:35:09 +03:00
|
|
|
|
(<VERB? WALK-TO THROUGH>
|
|
|
|
|
<PERFORM ,V?WALK-TO ,CENTER-OF-LAB>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<RTRUE>)>>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GENERIC-LABORATORY-F (OBJ)
|
|
|
|
|
<COND (,SUB-IN-TANK ;<IN-LAB-AREA? ,HERE> ,YOUR-LABORATORY)
|
|
|
|
|
(,SUB-IN-DOME ;<IN-DOME? ,HERE> ,DOME-LAB)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT JOB
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "job")
|
|
|
|
|
(ADJECTIVE SOME)
|
|
|
|
|
(SYNONYM JOB WORK CHORE)
|
|
|
|
|
(TEXT "(You'll find that information in your SEASTALKER package.)")>
|
|
|
|
|
|
|
|
|
|
<OBJECT TRAITOR
|
|
|
|
|
(DESC "traitor")
|
|
|
|
|
;(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM TRAITOR)
|
|
|
|
|
(ACTION TRAITOR-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE TRAITOR-F ("AUX" X)
|
|
|
|
|
<COND (<OR <AND <VERB? ASK-ABOUT> <FSET? ,PRSO ,PERSON>>
|
|
|
|
|
<VERB? FIND WHAT>>
|
|
|
|
|
<SET X <OR ,QCONTEXT
|
|
|
|
|
<VERB? ASK-ABOUT>
|
|
|
|
|
;<NOT <EQUAL? ,WINNER ,PLAYER>>>>
|
|
|
|
|
<COND (.X <TELL "\"">)>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "I guess you'll have to figure that out, " FN ".">
|
2019-04-14 05:34:27 +03:00
|
|
|
|
<COND (.X <TELL "\"">)>
|
|
|
|
|
<CRLF>)>>
|
|
|
|
|
|
|
|
|
|
<OBJECT CHAIR
|
|
|
|
|
(IN LOCAL-GLOBALS)
|
|
|
|
|
(DESC "chair")
|
|
|
|
|
(SYNONYM CHAIR CHAIRS SEAT)
|
2019-04-14 05:35:09 +03:00
|
|
|
|
(FLAGS NDESCBIT ;FURNITURE)
|
2019-04-14 05:34:27 +03:00
|
|
|
|
(ACTION CHAIR-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE CHAIR-F ()
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<COND (<VERB? SIT LOOK-UNDER CLIMB-ON CLIMB-DOWN>
|
|
|
|
|
<TELL "That's just a waste of time." CR>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<OBJECT UNDERWATER
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "underwater")
|
|
|
|
|
(SYNONYM UNDERWATER)
|
|
|
|
|
(FLAGS NARTICLEBIT)
|
|
|
|
|
(ACTION UNDERWATER-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE UNDERWATER-F ()
|
|
|
|
|
<COND (<VERB? WALK>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "You must be in the " D ,SUB " to do that." CR>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<OBJECT GAME
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "SEASTALKER")
|
|
|
|
|
(SYNONYM SEASTALKER GAME)
|
|
|
|
|
(FLAGS NARTICLEBIT)
|
|
|
|
|
(ACTION GAME-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE GAME-F ()
|
|
|
|
|
<COND (<VERB? EXAMINE PLAY READ>
|
|
|
|
|
<SETG P-WON <>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "(You're doing it!)" CR>)>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
<OBJECT SOMETHING
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(DESC "(something)")
|
|
|
|
|
(SYNONYM \(SOMETHING\) )
|
|
|
|
|
(ACTION SOMETHING-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE SOMETHING-F ()
|
|
|
|
|
<SETG P-WON <>>
|
2019-04-14 05:35:09 +03:00
|
|
|
|
<TELL "(Type a real word instead of " D ,SOMETHING ".)" CR>>
|
2019-04-14 05:34:27 +03:00
|
|
|
|
|
|
|
|
|
"WARNING: object numbers for LEFT & RIGHT must not equal direction numbers!"
|
|
|
|
|
|
|
|
|
|
<OBJECT LEFT
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM LEFT PORT P)
|
|
|
|
|
(DESC "left")
|
|
|
|
|
(ACTION LEFT-RIGHT-F)>
|
|
|
|
|
|
|
|
|
|
<OBJECT RIGHT
|
|
|
|
|
(IN GLOBAL-OBJECTS)
|
|
|
|
|
(SYNONYM RIGHT STARBOARD SB)
|
|
|
|
|
(DESC "right")
|
|
|
|
|
(ACTION LEFT-RIGHT-F)>
|
|
|
|
|
|
|
|
|
|
<ROUTINE LEFT-RIGHT-F ()
|
|
|
|
|
<COND (<VERB? EXAMINE LOOK-INSIDE LOOK-OUTSIDE>
|
|
|
|
|
<COND (<EQUAL? ,HERE ,SUB>
|
|
|
|
|
<PERFORM ,PRSA ,SUB-WINDOW>)
|
|
|
|
|
(T <PERFORM ,PRSA ,WINDOW>)>
|
|
|
|
|
<RTRUE>)
|
|
|
|
|
(<VERB? TURN WALK>
|
|
|
|
|
<V-WALK-AROUND>)>>
|